Рассмотрен механизм создания в РЕД ОС каталога с общим сетевым доступом по протоколу smb. РЕД ОС предварительно необходимо включить в домен windows, для этого воспользуйтесь инструкцией по ссылке.
1. После включения РЕД ОС в домен windows проверьте получение тикета:
kinit username klist
2. Проверьте доступность входа доменного пользователя в систему:
su username exit
3. После включения РЕД ОС в домен windows проверьте поддержку ACL (поддержка списков контроля доступа)
# smbd -b | grep HAVE_LIBACL HAVE_LIBACL
4. Создаем каталог для общего использования
su mkdir -p /share/
5. Назначаем права доступа
chown -R root:"Пользователи домена" /share chmod 2770 /share setfacl -m default:group:"wintest\Администраторы домена":rwx /share/ setfacl -m default:group:"wintest\Пользователи домена":r-x /share/ setfacl -m default:other::--- /share/
в этом примере с помощью команды setfacl были даны полные(rwx) права группе «Администраторы домена» на каталог /share
Группе «Пользователи домена» домена windows были даны права только на чтение и выполнение.
6. Настройка selinux для доступа к каталогу
semanage fcontext -a -t samba_share_t /share/ restorecon -R -v /share/
7. В конфигурационном файле samba (/etc/samba/smb.conf) в секции [global] проверьте наличие следующих строк:
vfs objects = acl_xattr map acl inherit = yes store dos attributes = yes dedicated keytab file = /etc/krb5.keytab kerberos method = dedicated keytab
8. В конфигурационный файл samba (/etc/samba/smb.conf) создайте раздел [share]
[share] path = /share/ read only = no browseable = yes
9. Перезапустите сервис samba
systemctl restart smb systemctl enable smb
10. Дополнительные команды и их параметры которые могут пригодиться
Ключи команды setfacl:
-R — рекурсивное изменение прав, т.е права изменятся во всех вложенных каталогах
-d или default — устанавливает ACL по умолчанию на объект
-k — удаляет с объекта ACL
-b — удаляет все ACL права с объекта
-u — назначает ACL для пользователя
-g — назначает ACL для группы
-m — назначает маску эффективных прав. Маска задает максимальные права доступа для всех пользователей, за исключением хозяина и групп.
— добавить разрешения для группы
setfacl -m g:"wintest\Группа_Пользователей":rwx /share
— добавить разрешения для пользователя
setfacl -m u:"wintest\Пользователь":rwx /share
— удалить ACL для определенного пользователя
setfacl -x u:alex share
— удалить все ACL права
setfacl -b qwert
Посмотреть ACL права на каталоге
getfacl share
Для того, чтобы права вступили в силу, иногда требуется перезапустить сеанс пользователя.