Чт. Май 14th, 2026
  1. Устанавливаем программу sudoapt install sudo
  2. Добавляем созданного пользователя в процессе установки в группу sudousermod -aG sudo имя_вашего_пользователя
  3. Устанавливаем все необходимые сервисы для работы samba, как члена доменаsudo apt-get install acl attr samba winbind libpam-winbind libnss-winbind krb5-config krb5-user dnsutils python3-setproctitle
  4. Далее все команды выполняется либо с применением sudo, либо в привилегированном режиме sudo – i
  5. Указываем NTP-сервер
    1. nano /etc/systemd/timesyncd.conf[Time]NTP=ваш_NTP_серверFallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
    2. systemctl enable systemd-timesyncd
    3. systemctl start systemd-timesyncd
    4. systemctl status systemd-timesyncd
  6. Указываем настройки для Kerberos
    1. nano /etc/krb5.conf[libdefaults]default_realm = полное_название_вашего_домена                dns_lookup_realm = false                dns_lookup_kdc = true
  7. Команда для просмотра, где находится основной конфигурационный файл samba:smbd  -b | grep CONFIGFILE
  8. Редактируем конфигурационный файл, добавляя необходимые строчки
    1. nano /etc/samba/smb.confmin domain uid = 0security = ADSworkgroup = краткое_имя_доменаrealm = полное_название_вашего_домена log file = /var/log/samba/%m.loglog level = 1 # Default ID mapping configuration for local BUILTIN accounts# and groups on a domain member. The default (*) domain:# - must not overlap with any domain ID mapping configuration!# - must use a read-write-enabled back end, such as tdb.idmap config * : backend = tdbidmap config * : range = 3000-7999# - You must set a DOMAIN backend configuration# idmap config for the краткое_имя_домена domainidmap config краткое_имя_домена : backend = rididmap config краткое_имя_домена : range = 10000-999999# Template settings for login shell and home directorytemplate shell = /bin/bashtemplate homedir = /home/%U
  9. Перечитываем конфигурационные файлыsmbcontrol all reload-config
  10. Создаём папкуmkdir -p /usr/local/samba/etc/
  11. Добавляем в smb.conf строчкиusername map = /etc/samba/user.mapusername map = /usr/local/samba/etc/user.map
  12. Создаём файл сопоставления root с доменным пользователемnano /usr/local/samba/etc/user.map!root = краткое_имя_домена\логин_пользователя
  13. Команда для проверки синтаксиса основного конфигурационного файла — testparm
  14. В файл hosts заносим соответствие IP-адреса и доменного имени
    1. nano /etc/hostsX.X.X.X      share-test.полное_название_вашего_домена  share-test
  15. Присоединяем машину к доменуnet ads join -U логин_пользователя (должен иметь права для присоединения к домену)
  16. В nsswitch.conf приводим первые две строчки к следующему виду для того, чтобы доменные пользователи видели локальную систему
    1. nano /etc/nsswitch.confpasswd:         files winbindgroup:          files winbind
  17. Запускаем службы
    1. systemctl start smbd
    2. systemctl start nmbd
    3. systemctl start winbind
  18. Перезагружаемсяpoweroff –reboot
  19. Проверяем, что можем подключиться к контроллеру доменаwbinfo --ping-dc
  20. Проверяем поддерживает ли наша samba расширенные ACLsmbd -b | grep HAVE_LIBACLЕсли вывод HAVE_LIBACL, то всё ок
  21. Добавляем ещё пару строчек в конфигурационный файл
    1. nano /etc/samba/smb.confvfs objects = acl_xattrmap acl inherit = yes
  22. Добавляем в ещё один файл сопоставление пользователя домена с root
    1. nano /etc/samba/user.map!root = Домен\логин_пользователя
  23. Назначаем права на изменение прав для общих папок для доменных администраторов или другой группы (можно и пользователя поставить)net rpc rights grant "Домен\Domain Admins" SeDiskOperatorPrivilege -U "Домен\логин_пользователя"
  24. Проверяем список тех, кто может менять праваnet rpc rights list privileges SeDiskOperatorPrivilege -U "Домен\логин_пользователя"
  25. Создаём папку для общего использованияmkdir -p /srv/samba/Demo/
  26. Меняем владельца и группу папкиchown root:"Домен\Domain Admins" /srv/samba/Demo/
  27. Ставим права на папкуchmod 0770 /srv/samba/Demo/
  28. Вносим информацию про нашу папку в конфигурационный файл samba
    1. nano /etc/samba/smb.conf
    [Demo]        path = /srv/samba/Demo/        read only = no
  29. Перечитываем конф. Файлsmbcontrol all reload-config
  30. Настраиваем права для общей папки через Windows
    1. Нажимаем Win+X -> Управлением компьютером
    2. Вкладка Действие и «Подключиться к другом компьютеру», вводим имя нашей машины, например, share-test
    3. В Инструментах системы открываем Общие папки и уже через ПКМ по нашей папке -> Свойства -> Безопасность, настраиваем права
  31. Добавляем в файл smb.conf в раздел нашей папки строчкуacl_xattr:ignore system acls = yes
  32. Проверяем права на папкуgetfacl /srv/samba/Demo/

От admin