Yanıtlar:
Grup ayarlamak için vermek setgid bit:/var/www
chgrp www-data /var/www
chmod g+s /var/www
Alt dizinleri de ayarlamak için: find /var/www -type d -exec chmod g+s {} +
Bu, yeni oluşturulan tüm dosyaların, kullanıcının yerine ana yönetmen grubuna miras kalmasını sağlar.
Varsayılan grup izinlerini ayarlamak için ACL'leri kullanmanız gerekir . Bir "varsayılan" ACL ayarlayın:
setfacl -m "default:group::rwx" /var/www
Alt dizinleri de ayarlamak için: find /var/www -type d -exec setfacl -m d:g::rwx {} +
Not: Dosya sisteminde ACL desteği etkin olmalıdır. Bazen varsayılan olarak açıktır; üzerinde ext3 veya ext4 elle etkin olmalıdır bu durumda "İşlem desteklenmiyor" alabilirsiniz:
Şu anda monte edilmiş bir dosya sistemi için: mount -o remount,acl /
Kalıcı olarak - aşağıdaki yöntemlerden biri :
fstab düzeyde düzenlemek /etc/fstab
için acl
seçenekler alanında
dosya sistemi düzeyinde: tune2fs -o acl /dev/diskname
chmod
tüm dosyaları da alırdı.
install
şekilde varsayılan dizin ACL'lerini atlamayı başardığını unutmayın.
/var/www/html/projects
klasörüm var ve www-data bir dosya oluşturduğunda rw-rw-r
izinleri var ama konsolda bir şey yaptığımda bir dosya oluşturuyor rw-r--r
. Yeni oluşturulan dosyaları her zaman rw-rw-r
izin almaya nasıl zorlayabilirim ?
umask
. Dizin başına varsayılan izinler setfacl
, ana postadaki gibi değiştirilebilir .
Bu setgid üzerinde 'grawity' cevabına sıkışmış birkaç kişi almış olabilir, eğer klasörün grubu sizin grubunuzdan farklıysa, chmod'u root olarak çalıştırmanız gerekebilir ancak bunu yapmanız gerektiğini belirten bir hata almazsınız.
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir #no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir #but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo #and the group is still wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir #the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo #and group is set
stor
/appe
? HTTP ilePUT
mi? Bir kabuk hesabıyla mı? Bu detaylar önemlidir, çünkü olası cevapları büyük ölçüde etkilerler ve sorunuzda olması gerekir.