3.9.19.2.10.4 Интеграция файлового сервера SAMBA с IPA
Предварительные условия
Подготовка домена SAMBA
Настройка серверов IPA и SAMBA
Настройка сетевого каталога на сервере SAMBA
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Стандартная
- Версия ПО: ipa-client-samba-4.12.2-1, samba-4.19.9-10h, samba-client-4.19.9-10h
Предварительные условия
В рамках текущей инструкции используются следующие исходные данные:
домен IPA – redosipa.test:
IP-адрес – 192.168.114.172;
доменное имя – server.redosipa.test.
домен SAMBA – skynet.murom:
IP-адрес – 192.168.114.63;
доменное имя – dc1.skynet.murom.
Подробную информацию о развертывании домена SAMBA см. в соответствующей инструкции:
«Установка сервера SAMBA DC с использованием DNS backend – SAMBA_INTERNAL»;
«Установка сервера SAMBA DC с использованием DNS backend – BIND9_DLZ».
Подробную информацию о развертывании домена IPA см. в соответствующей инструкции:
Подготовка домена SAMBA
Установите дополнительные пакеты с помощью команды:
sudo dnf install ipa-client sssd-common samba samba-client ipa-client-samba
Добавьте запись в /etc/hosts, по какому IP обращаться к домену IPA, например:
192.168.114.172 server.redosipa.test server
Отключите службу:
sudo systemctl disable --now systemd-timesyncd
В сетевых настройках укажите поисковый DNS сервера IPA, например:

Перезагрузите сетевой интерфейс для применения настроек:
sudo systemctl restart NetworkManager
Присоедините файловый сервер SAMBA к домену IPA (команда должна быть выполнена на сервере SAMBA):
sudo join-to-domain.sh Ввод РЕД ОС в домен Windows(2008/2012/2016/2019/2022), SAMBA, IPA Этот компьютер не в домене! Продолжить выполнение (y/n)? y Выберите тип домена: 1. Ввод РЕД ОС в домен Windows/SAMBA 2. Ввод РЕД ОС в домен IPA Укажите (1 или 2): 2 Для ввода РЕД ОС в домен IPA, введите имя домена. Пример: example.com Имя домена: redosipa.test Введите имя ПК. Пример: client1 Имя ПК: dc1 Имя администратора домена: admin Домен redosipa.test доступен! Введите пароль администратора домена IPA: Продолжить выполнение (y/n)? y ... ... ... РЕД ОС успешно введён в домен IPA! Перезагрузите ПК.
Выполните автоматическую конфигурацию системных служб на сервере SAMBA для работы в домене IPA:
authselect select sssd with-fingerprint with-gssapi with-mkhomedir with-smartcard --force
Настройка серверов IPA и SAMBA
Для правильного распределения DNS выполните следующие команды на сервере IPA:
kinit admin ipa dnsrecord-add redosipa.test dc1 --a-ip-address=192.168.114.63
где:
redosipa.test– домен IPA;dc1– имя записи (допускается задать произвольное);192.168.114.63– IP-адрес сервера SAMBA.
Установите пакет ipa-server-trust-ad:
sudo dnf install ipa-server-trust-ad
Запустите настройку домена для обработки классов и атрибутов объектов, специфичных для SAMBA:
sudo ipa-adtrust-install --add-sids reboot
На сервере SAMBA выполните команду ipa-client-samba, который создаст cifs и отредактирует /etc/samba/smb.conf для работы SAMBA с IPA:
sudo ipa-client-samba
Отредактируйте в файле /etc/samba/smb.conf значение netbios name, указав рабочую группу домена. В текущем примере файл smb.conf будет выглядеть следующим образом:
Далее отредактируйте секции по примеру из smb.conf:
[global]
# Limit number of forked processes to avoid SMBLoris attack
max smbd processes = 1000
# Use dedicated Samba keytab. The key there must be synchronized
# with Samba tdb databases or nothing will work
dedicated keytab file = FILE:/etc/samba/samba.keytab
kerberos method = dedicated keytab
# Set up logging per machine and Samba process
log file = /var/log/samba/log.%m
log level = 1
# We force 'member server' role to allow winbind automatically
# discover what is supported by the domain controller side
server role = member server
realm = REDOSIPA.TEST netbios name = REDOSIPA workgroup = REDOSIPA # Local writable range for IDs not coming from IPA or trusted domains
idmap config * : range = 0 - 0
idmap config * : backend = tdb
idmap config REDOSIPA : range = 805800000 - 805999999
idmap config REDOSIPA : backend = sss
security = ads
printing = cups
printcap name = cups
load printers = yes
cups options = raw
# Default homes share
[homes]
read only = no
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775Создайте структуру ролей и привилегий для SAMBA (действия должны быть выполнены на сервере IPA):
kinit admin
ipa permission-add "CIFS server can read user passwords" --attrs={ipaNTHash,ipaNTSecurityIdentifier} --type=user --right={read,search,compare} --bindtype=permission
ipa privilege-add "CIFS server privilege"
ipa privilege-add-permission "CIFS server privilege" --permission="CIFS server can read user passwords"
ipa role-add "CIFS server"
ipa role-add-privilege "CIFS server" --privilege="CIFS server privilege"
ipa role-add-member "CIFS server" --services=cifs/dc1.redosipa.testНа сервере SAMBA внесите изменения в файл /etc/krb5.conf:
sudo sed -i 's;default_ccache_name = KEYRING:persistent:%{uid};default_ccache_name = FILE:/tmp/krb5cc_%{uid};g' /etc/krb5.confПолучите билет Kerberos и создайте keytab:
kinit admin ipa-getkeytab -s server.redosipa.test -p cifs/dc1.redosipa.test -k /etc/samba/samba.keytab reboot
Настройка сетевого каталога на сервере SAMBA
На сервере SAMBA создайте каталог:
mkdir -p /share/
Назначьте права на созданный каталог:
sudo chown -R :users /share sudo chmod -R 777 /share sudo setfacl -m default:user:"admin":rwx /share sudo setfacl -R -m default:user:"admin":rwx /share
Затем настройте метки SELinux:
sudo semanage fcontext -a -t samba_share_t /share/ sudo restorecon -R -v /share/
На контроллере домена IPA получите SID:
sudo net getdomainsid
На файловом сервере SAMBA настройте идентификатор безопасности (введите SID, полученный ранее):
sudo net setdomainsid <SID>На сервере SAMBA выполните:
sudo net -s /dev/null groupmap add sid=<SID> unixgroup=nobody type=builtinВ конце файла /etc/samba/smb.conf укажите настройки для каталога:
[share]
path = /share
writable = yes
browsable=yes
valid users = admin
read list = admin
write list = admin
guest ok = no
inherit acls = Yes
create mask = 0660
directory mask = 0775
directory mask = 0770Добавьте в автозапуск службы samba и winbind, перезагрузите сервер samba:
sudo systemctl enable smb winbind --now reboot
Для проверки доступности сетевого каталога на сервере SAMBA необходимо получить тикет (при его отсутствии) и выполнить команду подключения к сетевому каталогу:
kinit admin
smbclient //dc1.redosipa.test/share -N --use-kerberos=requiredВ случае, если все настроено верно, появится следующее сообщение:
Try "help" to get a list of possible commands. smb: \>
Дата последнего изменения: 04.12.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.