Come posso impostare una directory scrivibile di gruppo?


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

Il problema è che ogni volta che creo un nuovo file /var/www/htmlanche se il gruppo è impostato su web, è scrivibile solo dall'utente originale.

Mi è stato dato il consiglio di impostare l' umaskessere 002perché l'impostazione predefinita è ciò che causa i problemi. Ma avrei dovuto fare questo per tutti gli utenti di quel gruppo, e per quanto ne so Sarebbe noioso avere tutti loro modifica ~/.bashrcad avere umask 002. Anche se posso farlo da solo con un comando shell per tutti quegli utenti, sembra ancora troppo noioso.

Qualcuno può offrire qualche consiglio su come avere una directory scrivibile di gruppo?


2
Hai provato a disconnetterti e quindi a riconnetterti di nuovo con il mediatore utente? Le informazioni sul gruppo non vengono aggiornate nella sessione corrente.
Marco

@marco - L'ho fatto su mederteste mi su mederpiace mille volte. Si qualifica come un logout?
meder omuraliev,

@marco grazie non sapevo che le informazioni sul gruppo non sono aggiornate nella sessione corrente ... bummer
gabeio

Risposte:


30

Innanzitutto, abilita il bit SGID nella tua directory:

sudo chmod g+s html

Questo farà sì che i nuovi file creati all'interno di quella directory ereditino la proprietà del gruppo del genitore.

Non esiste ereditarietà dei livelli di autorizzazione nel modello di autorizzazione POSIX. Tuttavia, questo può essere fatto con gli elenchi di controllo di accesso , senza doversi preoccupare delle impostazioni di umask:

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

È un vero peccato che umask non possa essere assegnato su una base per directory.


cosa c'è g+snei numeri?
Jürgen Paul,

1
Anteporre @WearetheWorld con 2: chmod 2XXX file.
mizo,

1
Ho cercato questa risposta per sempre, e mi è stata appena inviata una risposta tramite Twitter. Grazie @mizo!
Glifo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.