Как удалить 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 Да, точно такой же файл.
Тайки Bessho

Ответы:


28

Наша проблема была решена с помощью:

setfacl -bn foobar

Дело в том, что нам также пришлось удалить aclMask из каталога с опцией -n ... Страница руководства 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 вы используете?
Taiki Bessho

Я получил то же самое? вещь с Ubuntu 16. Исправлено с помощью вышеупомянутого chmod. Weird.
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 ...
Тайки Bessho

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