Grup tarafından yazılabilir bir dizini nasıl ayarlayabilirim?


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

Sorun, /var/www/htmlgrup olarak ayarlanmış olsa bile yeni bir dosya oluşturduğumda web, yalnızca orijinal kullanıcı tarafından yazılabilir.

Ben varsayılan olarak sorunlara neden olduğu umaskiçin olmak 002için ayarlama tavsiye verildi . Ama için bunu yapmak zorunda kalacak tüm bu gruptaki kullanıcılar ve aynı bildiğim kadarıyla bunların hepsinin değiştirmek zorunda sıkıcı olurdu ~/.bashrcsahip olmak umask 002. Tüm bu kullanıcılar için bir kabuk komutu ile kendim yapabilsem bile, hala çok sıkıcı görünüyor.

Herkes grup yazılabilir bir dizin olması konusunda herhangi bir öneri sunabilir?


2
Oturumu kapatıp kullanıcı meder'ıyla tekrar oturum açmayı denediniz mi? Grup bilgileri geçerli oturumda güncellenmez.
marco

@marco - Yaptım su medertestve su mederbin kez hoşuma gitti. Bu bir çıkış yapma niteliği taşıyor mu?
meder omuraliev

@marco thanks grup oturumunun geçerli oturumda güncellenmediğini bilmiyordum ... bummer
gabeio

Yanıtlar:


30

Öncelikle dizininizdeki SGID bitini etkinleştirin:

sudo chmod g+s html

Böylece, bu dizinde oluşturulan yeni dosyalar üst grubun grup sahipliğini devralır.

POSIX izin modelinde izin düzeylerinin devralınması yoktur. Ancak bu, umask ayarları hakkında endişelenmenize gerek kalmadan Erişim Kontrol Listeleri ile yapılabilir :

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

Umask'ın dizin başına esasına göre atanamayacağı gerçek bir serseri.


g+srakamlarda ne var ?
Jürgen Paul

1
2'ye prepend @WearetheWorld: chmod 2XXX file.
mizo

1
Bu cevap için sonsuza kadar avlanıyordum ve bir Twitter yanıtıyla ona yönlendirildim. Teşekkürler mizo!
Glif

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.