Ich möchte einem Verzeichnis die Berechtigung 755 erteilen und verwende daher:
# chmod -R 755 /my/folder/
Es funktioniert für alle Dateien in meinem Ordner, aber das Problem besteht darin, dass ich Skripte verwende, die neue Dateien in diesem Ordner erstellen, und die Berechtigungen standardmäßig auf 600 festgelegt sind.
Wie könnte ich diesen „zukünftigen“ Dateien die Berechtigung 755 auferlegen?
--BEARBEITEN--
Ich verwende ein Skript, das mir Informationen zum Netzwerkverkehr auf meinem Campus liefert. Alle 10 Minuten habe ich eine neue Datei in einem Ordner namens „Journey“, der sich im Monatsordner befindet, und zwar wie folgt:
ls -lrt /home/netmet/secure/2017-04/2017-04-27/
total 118548
-rwxr-sr-x 1 root root 85922 avril 27 00:10 zzaccounting.dmp-00-00
-rwxr-sr-x 1 root root 54874 avril 27 00:20 zzaccounting.dmp-00-10
-rwxr-sr-x 1 root root 33534 avril 27 00:30 zzaccounting.dmp-00-20
-rwxr-sr-x 1 root root 48890 avril 27 00:40 zzaccounting.dmp-00-30
-rwxr-sr-x 1 root root 36878 avril 27 00:50 zzaccounting.dmp-00-40
-rwxr-sr-x 1 root root 37034 avril 27 01:00 zzaccounting.dmp-00-50
-rwxr-sr-x 1 root root 38154 avril 27 01:10 zzaccounting.dmp-01-00
-rwxr-sr-x 1 root root 38318 avril 27 01:20 zzaccounting.dmp-01-10
-rwxr-sr-x 1 root root 26978 avril 27 01:30 zzaccounting.dmp-01-20
-rwxr-sr-x 1 root root 31558 avril 27 01:40 zzaccounting.dmp-01-30
-rwxr-sr-x 1 root root 23662 avril 27 01:50 zzaccounting.dmp-01-40
-rwxr-sr-x 1 root root 32298 avril 27 02:00 zzaccounting.dmp-01-50
-rwxr-sr-x 1 root root 30282 avril 27 02:10 zzaccounting.dmp-02-00
-rwxr-sr-x 1 root root 31110 avril 27 02:20 zzaccounting.dmp-02-10
-rwxr-sr-x 1 root root 25718 avril 27 02:30 zzaccounting.dmp-02-20
-rwxr-sr-x 1 root root 26306 avril 27 02:40 zzaccounting.dmp-02-30
-rwxr-sr-x 1 root root 23690 avril 27 02:50 zzaccounting.dmp-02-40
-rwxr-sr-x 1 root root 23002 avril 27 03:00 zzaccounting.dmp-02-50
-rwxr-sr-x 1 root root 21854 avril 27 03:10 zzaccounting.dmp-03-00
Hier habe ich die Berechtigungen manuell geändert, aber wenn die neue Datei angezeigt wird, habe ich Folgendes:
-rw------- 1 root root 3479106 avril 27 15:50 zzaccounting.dmp-15-40
Die Sache ist, dass für jeden Ordner und jede Datei unter/home/netmet/sicher/Ich möchte standardmäßig die Berechtigung 755.
Das habe ich bereits getan:
chmod -R g+s /home/netmet/secure
setfacl -d -m g::rwx /home/netmet/secure
setfacl -d -m o::rx /home/netmet/secure
Antwort1
Versuchen Sie, es in Ihrem Ordner auszuführen umask
. Wenn es etwas anderes als „0022“ zurückgibt, ist dies Ihr Problem. In Ihrem Fall sollte es zunächst „0177“ ausgeben. Das Berechtigungssystem beim Erstellen von Verzeichnissen ist grundsätzlich berechnet:
default - umask
0777 ist der Standardmodus für Verzeichnisse und 0666 für normale Dateien, aber es gibt unterschiedliche Umasks, wenn ich diese Dinge richtig verstehe. Versuchen Sie, es auszuführen umask a=rx,uu+w
.
BEARBEITEN: Sie können umask verwenden, um einem Verzeichnis ein Ausführungsbit zuzuweisen, damit Sie mit cd hineinwechseln können, aber nicht Dateien. Diesen muss aus Sicherheitsgründen manuell ein Ausführungsbit zugewiesen werden. Fügen Sie es einfach chmod +x <file>
zu Ihrem Skript hinzu. Und wenn das Ausführungsflag für eine Datei gesetzt ist, hat alles andere als eine ausführbare Datei keine Wirkung.
Antwort2
Ich vermute, Sie führen die Skripte aus, diegenerierendie Dateien in einer Umgebung, in der umask auf 0077 gesetzt ist. Dies verhindert, dass das generierende Programm irgendwelche Berechtigungsbits in den Berechtigungsbits „Gruppe“ und „Sonstiges“ setzt.
Beachten Sie, dass die Umask Teil der geerbten Umgebung eines Prozesses ist und normalerweise bei der Anmeldung über ein Standardprofil festgelegt wird. Jeder Prozess (Shell) kann seine eigene und die (anfängliche) Umask seiner untergeordneten Prozesse mit dem Befehl „umask“ ändern.
Die Bits in der aktuellen Umask verhindern die Erstellung von Dateien, deren Berechtigungen diese Bits enthalten (daher eine „Maske“, die die resultierenden Berechtigungsbits maskiert).
Antwort3
Notiz: Dies ist nicht ideal und sollte als vorübergehende Lösung betrachtet werden.
Sie können einen Cron-Job erstellen, der den chmod-Befehl alle 5 Minuten oder nach Wunsch ausführt.
Es gibt auchinoffiziell