Es ist nicht klar, ob Sie die Quell- oder Zielberechtigungen beibehalten möchten. Sie haben auch Cross-Site-Spam an SuperUser gesendet.
Tom Shaw
Für die Aufzeichnung beziehen sich die "Erhaltungs" -Optionen auf die Quelle . cp -pLässt die Zielattribute mit den Quellattributen übereinstimmen (wodurch sie erhalten bleiben).
mpersico
1
Ich bin gerade auf diese Seite gestoßen. cp sollte standardmäßig die Berechtigungen für Zieldateien und user: group beibehalten, da es das Ziel im Aktualisierungsmodus öffnet und seinen Inode beibehält. Deshalb ist mir nicht klar, warum die Antworten dies nicht anzeigen.
Beachten Sie, dass Root-Rechte erforderlich sind, wenn Sie Eigentümer und Gruppenmitgliedschaft beibehalten möchten.
Ein Auszug aus dem Handbuch:
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,owner-
ship,timestamps), if possible additional attributes: context,
links, xattr, all
Nicht genau das, was der Autor wollte. --no-preservemacht Sinn, wenn es nach --preserve(oder seinen Aliasen) verwendet wird, sonst hat es keinen Einfluss auf das Verhalten von cp. Der Autor wollte den Dateimodus einer vorhandenen Zieldatei beibehalten und nur deren Inhalt überschreiben
Becken
Beispiel: Ersetzen Sie die SSH-Host-Schlüssel cp --no-preserve=mode,ownership ssh* /etc/ssh/. Dadurch sind die geheimen Schlüssel weltweit lesbar.
Becken
Die Manpage --preserve Erklärung ist meiner Meinung nach unsinnig, da es nicht klar macht, was zu bewahren: Die Quell- oder
Oder Sie können ein noch besseres Installationsprogramm von GNU coreutils verwenden, das für diesen speziellen Zweck erstellt wurde. Bitte beachten Sie, dass es nicht wiederkehren kann (keine Option -R oder -r).
cp -p
Lässt die Zielattribute mit den Quellattributen übereinstimmen (wodurch sie erhalten bleiben).Antworten:
Wenn Sie nur das Handbuch für
cp
...Der nächste überschreibt nicht die Dateiberechtigungen und Eigentumsrechte + Gruppenmitgliedschaft:
Beachten Sie, dass Root-Rechte erforderlich sind, wenn Sie Eigentümer und Gruppenmitgliedschaft beibehalten möchten.
Ein Auszug aus dem Handbuch:
quelle
--no-preserve
macht Sinn, wenn es nach--preserve
(oder seinen Aliasen) verwendet wird, sonst hat es keinen Einfluss auf das Verhalten voncp
. Der Autor wollte den Dateimodus einer vorhandenen Zieldatei beibehalten und nur deren Inhalt überschreibencp --no-preserve=mode,ownership ssh* /etc/ssh/
. Dadurch sind die geheimen Schlüssel weltweit lesbar.cat
wird auch funktionieren:quelle
Oder Sie können ein noch besseres Installationsprogramm von GNU coreutils verwenden, das für diesen speziellen Zweck erstellt wurde. Bitte beachten Sie, dass es nicht wiederkehren kann (keine Option -R oder -r).
http://www.gnu.org/software/coreutils/manual/html_node/install-invocation.html
quelle
Verwenden Sie überhaupt keine berechtigungsbezogenen Schalter, insbesondere
--no-preserve
, weil sie sich seltsam verhalten:gut:
Schlecht:
quelle
Der cp überschreibt standardmäßig keine Berechtigungen. Wenn Sie sicherstellen möchten, dass die Berechtigung nicht überschrieben wird, verwenden Sie
quelle