У меня есть Debian 8 с Samba 4 в качестве члена домена AD. Контроллером домена является Windows Server 2008. Общие ресурсы могут обрабатывать разрешения Windows - я использую IDMAP backend = rid, так как я не могу добавить uidNumber и gidNumber в запись учетной записи AD.
Я могу отображать и устанавливать разрешения ACL с помощью getfacl
и setfacl
, но настройки RWX не могут устанавливать точные разрешения Windows (получение права собственности, чтение атрибутов, установка разрешений, полный контроль ...)
Итак, есть ли возможность управлять (или, по крайней мере, показывать) расширенные разрешения Windows для общего файла / папки из Linux?
Дело в том, что я хотел бы создать сценарий, который периодически проверяет все общие файлы, если у них есть разрешения Я бы хотел их получить. И предупреждайте, если что-то не так, это будет своего рода проверка документации в реальном времени с желаемыми привилегиями.
В конце концов выяснил сам.
Права доступа Windows хранятся в «Расширенных атрибутах». Необработанные данные этих атрибутов могут быть отображены xattr
из пакета Debian python-xattr
:
xattr -l
Для отображения и управления этими разрешениями вы можно использовать smbcacls
из пакета Debian smbclient
:
smbcacls // localhost / share
В выходных данных вышеприведенной команды есть некоторые загадочные значения, такие как CI , OI, I, FULL, ... Подробное объяснение этих значений здесь: https://lists.samba.org/archive/samba-technical/2010-June/071390.html