Jak mogę skonfigurować katalog do zapisu grupowego?

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

Problem polega na tym, że za każdym razem, gdy tworzę nowy plik, /var/www/htmlmimo że grupa jest ustawiona na web, jest on możliwy do zapisania tylko przez pierwotnego użytkownika.

Poradzono mi ustawić umaskopcję, 002ponieważ domyślna jest przyczyną problemów. Ale muszę to zrobić dla wszystkich użytkowników w tej grupie, jak i tego, co wiem, że będzie nudny posiadające wszystkie z nich zmodyfikować ~/.bashrcmieć umask 002. Nawet jeśli mogę to zrobić samodzielnie za pomocą polecenia powłoki dla wszystkich tych użytkowników, nadal wydaje się to zbyt nudne.

Czy ktoś może zaoferować jakąkolwiek poradę dotyczącą grupowego katalogu do zapisu?

meder omuraliev
źródło
2
Czy próbowałeś się wylogować, a następnie zalogować ponownie za pomocą meder użytkownika? Informacje o grupie nie są aktualizowane w bieżącej sesji.
marco
@marco - zrobiłem su medertesti su mederlubię tysiące razy. Czy to się kwalifikuje jako wylogowanie?
meder omuraliev
@marco dzięki nie wiedziałem, że informacje o grupie nie są aktualizowane w bieżącej sesji ... bummer
gabeio

Odpowiedzi:

30

Najpierw włącz bit SGID w swoim katalogu:

sudo chmod g+s html

Spowoduje to, że nowe pliki utworzone w tym katalogu odziedziczą własność grupy nadrzędnej.

W modelu uprawnień POSIX nie ma dziedziczenia poziomów uprawnień. Można to jednak zrobić za pomocą list kontroli dostępu , bez martwienia się o ustawienia umask:

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

To prawdziwy błąd, że umask nie może być przypisany na podstawie katalogu.

Mizo
źródło
co jest g+sw liczbach
Jürgen Paul
1
@WearetheWorld prepend mieszaniną 2: chmod 2XXX file.
mizo
1
Od zawsze poluję na tę odpowiedź i właśnie otrzymałem od niej odpowiedź za pośrednictwem odpowiedzi na Twitterze. Dzięki @mizo!
Glyph
0

Musisz ustawić bit setgid w katalogu.

chmod g+s html
Wstrzymano do odwołania.
źródło
Czy mogę połączyć ten chmod z tym g+rwx?
meder omuraliev
1
@meder: takg+rwxs
Wstrzymano do odwołania.
To tylko zachowuje własność katalogu, a nie uprawnienia do katalogu.
Glyph