Wie ändere ich automatisch die Berechtigungen für in ein Verzeichnis kopierte Dateien?

Wie ändere ich automatisch die Berechtigungen für in ein Verzeichnis kopierte Dateien?

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 0027in 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.

verwandte Informationen