Wie kann ich ein gruppenbeschreibbares Verzeichnis einrichten?

16
$ whoami
meder
$ cd /var/www
$ sudo mkdir html
$ sudo groupadd web
$ sudo usermod -a -G web meder
$ sudo usermod -a -G web medertest
$ sudo chown meder:web html
$ sudo chmod -R g+rwx html

Das Problem ist, dass jedes Mal, wenn ich eine neue Datei in erstelle /var/www/html, obwohl die Gruppe auf festgelegt ist web, diese nur vom ursprünglichen Benutzer beschrieben werden kann.

Mir wurde der Rat gegeben, das umaskzu setzen, 002weil die Standardeinstellung die Probleme verursacht. Aber ich müsste dies für alle Benutzer in dieser Gruppe tun , und soweit ich weiß, wäre es mühsam, alle von ihnen Änderungen vornehmen ~/.bashrczu lassen umask 002. Selbst wenn ich es mit einem Shell-Befehl für all diese Benutzer selbst machen kann, scheint es mir immer noch zu langweilig.

Kann mir jemand einen Rat geben, wie man ein gruppenbeschreibbares Verzeichnis hat?

meder omuraliev
quelle
2
Haben Sie versucht, sich abzumelden und sich dann erneut mit dem Benutzer meder anzumelden? Gruppeninformationen werden in der aktuellen Sitzung nicht aktualisiert.
Marco
@marco - Ich habe su medertestund su medermag tausendmal. Gilt das als Abmelden?
Meder Omuraliev
@marco Dank wusste nicht, dass die Gruppeninformationen in der aktuellen Sitzung nicht aktualisiert werden ... bummer
gabeio

Antworten:

30

Aktivieren Sie zunächst das SGID-Bit in Ihrem Verzeichnis:

sudo chmod g+s html

Dadurch erben neue Dateien, die in diesem Verzeichnis erstellt wurden, den Gruppeneigentum des übergeordneten Elements.

Es gibt keine Vererbung von Berechtigungsstufen im POSIX-Berechtigungsmodell. Dies kann jedoch mit Access Control Lists durchgeführt werden , ohne sich um umask-Einstellungen kümmern zu müssen:

sudo setfacl -d -m group:web:rwx html

Es ist ein echter Mist, dass umask nicht pro Verzeichnis zugewiesen werden kann.

Mizo
quelle
Was ist g+sin Zahlen?
Jürgen Paul
1
@WearetheWorld prepend mit 2: chmod 2XXX file.
Mizo
1
Ich habe immer nach dieser Antwort gesucht und wurde gerade über eine Twitter-Antwort darauf hingewiesen. Danke @mizo!
Glyphe
0

Sie müssen das setgid-Bit im Verzeichnis setzen.

chmod g+s html
Bis auf weiteres angehalten.
quelle
Kann ich diesen chmod mit dem g+rwxeinen kombinieren ?
meder omuraliev
1
@meder: jag+rwxs
bis auf weiteres angehalten.
Dadurch bleibt nur der Verzeichnisbesitz erhalten, nicht die Verzeichnisberechtigungen.
Glyphe