Ich möchte einem Verzeichnis 755 Berechtigungen erteilen, daher verwende ich:
# chmod -R 755 /my/folder/
Es funktioniert für alle Dateien in meinem Ordner, aber das Problem ist, dass ich Skripte verwende, die neue Dateien in diesem Ordner erstellen, und standardmäßig sind die Berechtigungen 600.
Wie könnte ich diesen "zukünftigen" Dateien 755 Berechtigungen auferlegen?
--BEARBEITEN--
Ich verwende ein Skript, das mir Informationen zum Netzwerkverkehr auf meinem Campus gibt. Ich habe alle 10 Minuten eine neue Datei in einem Ordner namens "Reise", der sich im Monatsordner wie folgt befindet:
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 von Hand geändert, aber wenn die Datei neu 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 / secure / standardmäßig eine 755-Berechtigung gewünscht wird.
Ich habe das schon gemacht:
chmod -R g+s /home/netmet/secure
setfacl -d -m g::rwx /home/netmet/secure
setfacl -d -m o::rx /home/netmet/secure
quelle
umask
Programms, jedoch nicht zum Überschreiben eines Programms, das Dateien mit dem beabsichtigten Modus erstellt0600
. Sehen Sie hier einige Referenzen.umask
Dateien zum Ausführen von Ausführungsbits hinzufügen. Dies muss von Hand erfolgen2017-04-27
) und wie werden die Verzeichnisse überhaupt erstellt? Bitte aktualisieren Sie die Frage mit diesen Details.Antworten:
Versuchen Sie,
umask
in Ihrem Ordner auszuführen . Wenn etwas anderes als '0022' zurückgegeben wird, ist dies Ihr Problem. In Ihrem Fall sollte zunächst '0177' ausgegeben werden. Das Berechtigungssystem beim Erstellen eines Verzeichnisses wird grundsätzlich berechnet:default - umask
0777 ist der Standardmodus für Verzeichnisse und 0666 für normale Dateien, aber es gibt verschiedene Aufgaben, wenn ich diese Dinge richtig verstehe. Versuchen Sie auszuführenumask a=rx,uu+w
.BEARBEITEN: Sie können umask verwenden, um dem Verzeichnis ein Ausführungsbit zu geben, damit es darin cd kann, aber nicht in Dateien. Diese müssen aus Sicherheitsgründen manuell ausgeführt werden. Fügen Sie einfach
chmod +x <file>
zu Ihrem Skript hinzu. Das Ausführen eines in der Datei gesetzten Flags hat keine Auswirkung.quelle
umask
Shell-Befehl hängt nicht vom Pfad ab, sondern nur vom Benutzer, der ihn ausführt. Jeder Benutzer hat einen bestimmten umask-Wert, der bei der Anmeldung definiert wird und der später geändert werden kann. Dies definiert, wie neue Dateiberechtigungen erstellt werden.chmod a=rx,u+w
in Ihrer Antwort stehen.Ich vermute, Sie führen die Skripte aus, die die Dateien in einer Umgebung generieren, in der umask auf 0077 gesetzt ist. Dies verhindert, dass das generierende Programm Berechtigungsbits in den Berechtigungsbits 'group' und 'other' setzt.
Beachten Sie, dass die Umask Teil der geerbten Umgebung eines Prozesses ist und normalerweise bei der Anmeldung aus einem Standardprofil festgelegt wird. Jeder Prozess (Shell) kann mit dem Befehl 'umask' die eigene (nachfolgende) umask seiner eigenen und nachkommenden Kinder ändern.
Die Bits in der aktuellen Umask verhindern die Erstellung von Dateien, deren Bits in ihren Berechtigungen festgelegt sind (daher eine "Maske", die die resultierenden Berechtigungsbits maskiert).
quelle
Hinweis : Dies ist nicht ideal und sollte als vorübergehende Problemumgehung betrachtet werden
Sie können einen Cron-Job erstellen, der den Befehl chmod alle 5 Minuten oder nach Wunsch ausführt.
Es gibt auch inotify
quelle