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