Ich möchte die Änderung der Berechtigungen für in ein Verzeichnis kopierte Dateien automatisieren. Beispielsweise sollten alle in Ordner X kopierten Dateien den Modus 755 und alle in Ordner Y kopierten Dateien den Modus 700 haben.
Bitte um Rat, danke!
Antwort1
Sie können hierfür Folgendes verwenden umask
. Um den Modus herauszufinden, gehen Sie wie folgt vor:
7777 -umask = neue Berechtigungen
zum Beispiel (Linux):
777 -022 755
umask ist 022, die Berechtigungen sind 755 für Ordner und 644 für Dateien. Fügen Sie etwas wie umask 0027
in Ihr ~/.profile ein, damit es bei jeder Anmeldung geladen wird.
UPDATE (aufgrund eines skeptischen Kommentars):
$ umask
0077
$ ll
total 0
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 00
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 01
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 02
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov 9 20:26 03
$ rm -rf ../copies/*; \
/bin/cp --no-preserve=mode,ownership * ../copies/; ll ../copies/
total 0
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 00
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 01
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 02
-rw------- 1 jaroslav jaroslav 0 Nov 9 20:33 03
Antwort2
Ich glaube nicht, dass dies mit Standard-Unix-Berechtigungen für jedes Verzeichnis einzeln möglich ist. Mit ACLs ist dies jedoch möglich.