Odpowiedzi:
Aby ustawić grupę, dać /var/www
się setgid kawałek:
chgrp www-data /var/www
chmod g+s /var/www
Aby również dostosować podkatalogi: find /var/www -type d -exec chmod g+s {} +
Spowoduje to, że wszystkie nowo utworzone pliki odziedziczą grupę katalogu nadrzędnego zamiast użytkownika.
Aby ustawić domyślne uprawnienia grupy, musisz użyć list ACL . Ustaw „domyślną” listę ACL:
setfacl -m "default:group::rwx" /var/www
Aby również dostosować podkatalogi: find /var/www -type d -exec setfacl -m d:g::rwx {} +
Uwaga: System plików musi mieć włączoną obsługę ACL. Czasami jest domyślnie włączony; na ext3 lub ext4 może pojawić się komunikat „Operacja nieobsługiwana”, w którym to przypadku należy ją włączyć ręcznie:
W przypadku aktualnie zamontowanego systemu plików: mount -o remount,acl /
Na stałe - jedna z poniższych metod:
na poziomie fstab: edytuj, /etc/fstab
aby mieć acl
w polu opcji
na poziomie systemu plików: tune2fs -o acl /dev/diskname
chmod
otrzyma również wszystkie pliki.
install
jakiś sposób potrafią ominąć domyślne listy ACL katalogu.
/var/www/html/projects
folder i kiedy www-data tworzy plik, ma on rw-rw-r
uprawnienia, ale kiedy robię coś w konsoli, tworzy plik rw-r--r
. Jak mogę zmusić nowo utworzone pliki, aby zawsze miały rw-rw-r
uprawnienia?
umask
. Domyślne uprawnienia dla katalogu można zmieniać przy użyciu setfacl
jak w głównym poście.
Może to spowodować, że kilka osób utknęło w odpowiedzi na „grawitację” na setgid, jeśli grupa folderu jest inna niż twoja, być może będziesz musiał uruchomić chmod jako root, ale nie pojawi się żaden błąd wskazujący, że musisz to zrobić.
$ 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
? Przez HTTPPUT
? Przez konto shellowe? Te dane są ważne, ponieważ mają duży wpływ na możliwe odpowiedzi i muszą znajdować się w pytaniu.