Vererbung von Linux-Verzeichnisberechtigungen für neu erstellte Dateien

Vererbung von Linux-Verzeichnisberechtigungen für neu erstellte Dateien

Ich habe folgenden Ordner

 drwxr-xr-x   7 root root 45056 Nov 25 12:39 data

einschließlich Unterverzeichnisse und Dateien, insgesamt 755,

aber wenn ich eine neue Datei in diesem Verzeichnis erstelle, erhalte ich die Berechtigung

-rw-r--r-- 1 root root    0 Nov 28  2013 new

wie erstelle ich neue Dateien in diesem Verzeichnis, brauche 755, ohne es manuell zu tun? Ich habe chmod g+s ausprobiert und nichts ist passiert.

Irgendwelche Tipps

Antwort1

Die einzige Möglichkeit, die Bitberechtigungen festzulegen, ist über Ihre Umask. Wenn eine Datei erstellt wird, beispielsweise mit den Berechtigungen 666 (das ist oktal), entscheidet Ihre Umask, welche Bits auf 0 gesetzt werden.

Zur weiteren Erklärung: rwx rwx rwx steht für User Group World. Wenn jedes Bit auf 1 gesetzt wäre (111 111 111), wäre das 0777 (in Oktal). 0666 ist 110:110:110 oder rw_rw_rw. Hoffe, das ergibt Sinn.

Ihre Umask ist standardmäßig 022 - (Oktal 022). Dies gibt an, welche Bits beibehalten werden sollen (0) und welche nicht (1). (Auf diese Weise ist es etwas unintuitiv).

Nehmen Sie eine 666 erstellte Datei: 6 & ~0 = 6 6 & ~2 = 4 6 & ~2 = 4

Somit verfügt die erstellte Datei über die Berechtigungen 644 (rw-r--r--).

Beachten Sie, dass umask die Bits maskiert, die dem Aufruf zum Erstellen der Datei übergeben werden. Wenn der Aufruf 666 Bits benötigt, gibt es keine Möglichkeit, daraus 755 Bits zu machen, ohne manuell „chmod a+x file“ auszuführen.

Außerdem besteht die Auswirkung von g+s, das Festlegen der Gruppen-Suid, darin, die Eigentümergruppe festzulegen, nicht die Bitberechtigungen. Windows ist in dieser Hinsicht (ACLs) viel feinkörniger, aber es gibt Dateisystemerweiterungen, um Linux-Dateisystemen ACL-Berechtigungen hinzuzufügen.

verwandte Informationen