Чтобы удалить списки управления доступом, просто выполните
setfacl -b -R
для каталога, а затем
chmod g=rwx
для него. (Возможно, потребуется исправить права доступа для группы, потому что в данный момент ваши изменения фактически приводят к изменению «маски» списка управления доступом.)
Обратите внимание, что Samba напрямую предоставляет разрешения POSIX и списки управления доступом SMB-клиентам (переводя их в списки управления доступом SMB / NTFS), поэтому то же самое можно сделать из Windows, вручную удалив все, кроме 3 записей доступа "Unix".
Тем не менее,
недостаточно просто удалить разрешения ACL для пользователя/группы, нужно также
- Разрешение по умолчанию (маска)
- Даже если selinux уже отключен, вам нужно явно удалить его из тех мест, где он был применен в файловой системе.
Итак, полное решение для меня было таким:
- #sudo setfacl -Rbk <parent_dir> Здесь -R означает рекурсивное удаление, -b — удаление всех разрешений для пользователей/групп, -k — удаление ACL по умолчанию (маска). При выполнении этой команды знак «плюс» (+) в выводе ls будет удалён, но знак «точка» (.) в выводе ls останется.
- #setfattr -x security.selinux <file> Это удалит контекст SELinux и знак точки (.) из вывода команды ls. Эта команда не является рекурсивной, поэтому для её применения ко всему каталогу и его вложенным каталогам можно использовать команду find следующим образом:
#sudo find <parent_dir> -exec setfattr -x security.selinux {} \;