Używamy serwera hostingowego FreeBSD 10.3, na którym nie mamy uprawnień do bycia superużytkownikiem. Używamy serwera do uruchamiania apache2 dla stron internetowych naszej firmy. Poprzedni administrator naszych stron internetowych ustawił uprawnienia ACL do katalogu, ale chcemy je usunąć. Powiedzmy, że katalog się nazywa foobar
.
Teraz wynik ls -al foobar
jest następujący:
drwxrwxr-x+ 2 myuser another_user 512 Nov 20 2013 foobar
Zezwolenie jest następujące:
[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x
W tym miejscu chcemy usunąć uprawnienie ACL i znak plus na końcu listy uprawnień. Dlatego zrobiliśmy
setfacl -b foobar
Wyeliminowało to specjalne zezwolenie regulowane przez ACL, ale nie usunęło znaku plus +
.
Nasze pytanie brzmi: w jaki sposób możemy usunąć znak plus +
na liście uprawnień, pokazanej jako „ls -al foobar”?
permissions
acl
Taiki Bessho
źródło
źródło
getfacl
wskazuje nie ACL. Jednakls
pokazuje a+
. Czy na pewno za każdym razem przeglądasz ten sam plik? (z reguły jest to dla mnie powód)Odpowiedzi:
Nasz problem został rozwiązany przy użyciu:
Chodziło o to, że musieliśmy również usunąć aclMask z katalogu z opcją -n ... Strona man
setfacl
mówi następująco:Nie jesteśmy pewni, dlaczego ta opcja działała, ale działała ...
Jeśli uzyskasz
d?????????
pozwolenie po powyższym rozwiązaniu, wypróbujchmod -R a+rX
dwa komentarze poniżej.źródło
d?????????
to dziwnechmod -R a+rX
wielką XDziwne ... nie można odtworzyć:
Niestety nie mam teraz dostępu do BSD do testowania.
Informacja o systemie:
źródło
setfacl -bn foobar
ale nie wiem, dlaczego tan
opcja działała.