Як видалити ACL з каталогу та повернутися до звичайного контролю доступу?


29

Ми використовуємо хостинг-сервер FreeBSD 10.3, де ми не маємо повноважень бути суперпользователем. Ми використовуємо сервер для запуску apache2 для веб-сторінок нашої компанії. Попередній адміністратор наших веб-сторінок показав дозвіл ACL на каталог, але ми хочемо його видалити. Скажімо, каталог називається foobar.

Тепер результат ls -al foobarтакий:

drwxrwxr-x+   2 myuser  another_user   512 Nov 20  2013 foobar

І дозвіл такий:

[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x

Тут ми хочемо видалити дозвіл ACL та знак плюс в останньому зі списку дозволів. Тому ми і зробили

setfacl -b foobar

Він усунув спеціальний дозвіл, яким керується ACL, але не видалив знак плюс +.

Наше питання полягає в тому, як можна видалити знак плюс +у списку дозволів, показаному символом 'ls -al foobar'?


getfaclвказує не на ACL. Однак lsпоказує а +. Ви впевнені, що кожен раз переглядаєте один і той же файл? (зазвичай це є причиною для мене)
ctrl-alt-delor

@richard так, безумовно, той самий файл.
Тайкі Бесшо

Відповіді:


28

Нашу проблему було вирішено за допомогою:

setfacl -bn foobar

Справа в тому, що ми також повинні були видалити aclMask з каталогу з опцією -n ... Сторінка man setfaclговорить так:

 -n      Do not recalculate the permissions associated with the ACL mask
         entry.  This option is not applicable to NFSv4 ACLs.

Ми не впевнені, чому ця опція спрацювала, але це було ...


Якщо ви отримаєте d?????????дозвіл після вищезазначеного рішення, спробуйте, chmod -R a+rXяк зазначено внизу.


Це зробило мої файли: d?????????це дивно
JREAM

1
Оновлення: Це вирішило його chmod -R a+rXстолицю X
JREAM

@JREAM Якою системою Linux ви користуєтесь?
Тайкі Бесшо

Я отримав те саме d ?????? річ з Ubuntu 16. Виправлено вищезгаданим chmod. Дивно.
TonyG

3

Непарне ... не може відтворити:

ls -l | grep foobar
drwxr-xr-x+ 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

setfacl -b foobar/
ls -l | grep foobar
drwxr-xr-x 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

На жаль, зараз я не маю доступу до BSD для тестування.


Інформація про систему:

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie

Дійсно, я не можу відтворити на сервері Ubuntu 16.04.1 ...
Taiki Bessho

Нарешті, мені вдалося видалити знак плюс, setfacl -bn foobarале я не знаю, чому така nфункція працювала.
Тайкі Бесшо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.