Ich weiß, dass ich zum Ändern der Dateiberechtigung chmod verwenden kann. Zum Wechseln des Gruppenbesitzers könnte ich chgrp verwenden. Wenn ich jedoch gleichzeitig die Berechtigung und den Eigentümer ändern möchte, kann ich einen Befehl unter Linux verwenden?
Zum Beispiel gibt es eine Datei mit dieser Berechtigung und diesem Eigentümer:
-rw-r--r--+ 1 raymondtau staff 0 May 8 16:38 WantToChangeThisFile
Und jetzt möchte ich es ändern in:
---x-w--wx+ 1 raymondtau admin 0 May 8 16:38 WantToChangeThisFile
Ich weiß, dass ich diesen Befehl verwenden könnte: chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFile
aber ich möchte wissen, ob es dafür einen guten Weg gibt.
ch
.Wenn Sie die Datei auch irgendwo kopieren möchten (z. B. am endgültigen Ziel), sollten Sie sich den folgenden
install
Befehl ansehen :install -m 0777 -o root $sourcefile $destinationfile
quelle
Es ist wichtig, das richtige Werkzeug für den Job in * nix zu verwenden, aber in der Tat sieht es albern aus, denselben Pfad in jedem verketteten Befehl zu wiederholen. Stattdessen sollten Sie wirklich Bash-Variablen verwenden und in kleineren Skripten insbesondere verwenden
$_
.Ihr Befehl würde werden:
chmod 123 WantToChangeThisFile && chgrp admin $_
ALT +. Ähnliches gilt für das Abrufen des zuletzt verwendeten Arguments in Ihrer aktuellen Shell.
quelle
Rsync ist in diesem Fall nützlich:
Aus dem Fine Manual (TM)
--chown = USER: GROUP einfache Zuordnung von Benutzername / Gruppenname
--chmod = CHMOD wirkt sich auf Datei- und / oder Verzeichnisberechtigungen aus
So möchten Sie beispielsweise chmod / mnt / lala / lala4000 / "ugo = rX" und "foo.bar" anzeigen.
rsync --chmod = ugo = rX --chown = foo: bar -rvtpolgh / mnt / lala / lala4000 / / mnt / lala / lala4000 /
Dies würde das Verzeichnis rekursiv chown und chmod.
quelle
Sie könnten ein Ziel mit langem
rsync
Befehl erreichenquelle
Sie können
chown username:groupname file ...
beide gleichzeitig ändern. Durch das Ändern von zwei Feldern in derselben (Inode-) Struktur werden zwei Systemaufrufe gespeichert (einer zum Lesen der aktuellen Werte und einer zum Festlegen der geänderten Werte).quelle
chown
wechselt nur die Besitzer. Wie ändert dies die Berechtigungen gleichzeitig mit dem angeforderten OP? Hinweis Das Beispiel von OP enthältchmod
auch a.quelle