3.9.20.4.10.3.9 Интеграция файлового сервера SAMBA с IPA
Предварительные условия
Подготовка домена SAMBA
Настройка серверов IPA и SAMBA
Настройка сетевого каталога на сервере SAMBA
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Стандартная, Образовательная
- Версия ПО: ipa-client-samba-4.12.2-3, 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-kcm samba samba-client ipa-client-samba
Добавьте запись в /etc/hosts, по какому IP-адресу обращаться к домену IPA, например:
192.168.114.172 server.redosipa.test server
Отключите службу:
sudo systemctl disable --now systemd-timesyncd
В сетевых настройках укажите поисковый домен и IP-адрес DNS сервера IPA, например:

Перезагрузите сетевой интерфейс для применения настроек:
sudo systemctl restart NetworkManager
Присоедините файловый сервер SAMBA к домену IPA (команда должна быть выполнена на сервере SAMBA):
sudo join-to-domain
Присоединение к домену выполняется в интерактивном режиме:
Сценарий ввода РЕД ОС в домен РЕД АДМ/Windows/SAMBA, FreeIPA Используется WINBIND/SSSD Версия: 1.3.6 Последнее обновление: 13.08.2026 (c) РЕД СОФТ Выберите тип домена: 1. Ввод РЕД ОС в домен РЕД АДМ/Windows/SAMBA 2. Ввод РЕД ОС в домен IPA 3. Ввод РЕД ОС c ldaps в домен РЕД АДМ/Windows/SAMBA Укажите (1, 2 или 3): 2 Имя домена [redosipa.test] Для подтверждения нажмите ENTER или введите имя домена вручную: <нажмите_Enter> Введите имя ПК. Пример: client1 Имя ПК: dc1 Имя администратора домена: admin Домен redosipa.test доступен! Введите пароль администратора домена: <введите_пароль> Продолжить выполнение (y/n)? y ... ... ... РЕД ОС успешно введён в домен IPA! Перезагрузите ПК.
Выполните автоматическую конфигурацию системных служб на сервере SAMBA для работы в домене IPA:
sudo authselect select sssd with-fingerprint with-gssapi with-mkhomedir with-smartcard --force
Настройка серверов IPA и SAMBA
Для правильного распределения DNS на сервере IPA проверьте успешность добавления А-записи сервера SAMBA:
kinit admin
ipa dnsrecord-show redosipa.test dc1
где:
-
redosipa.test– домен IPA; -
dc1– имя записи сервера SAMBA.
Установите пакет ipa-server-trust-ad:
sudo dnf install ipa-server-trust-ad
Запустите настройку домена для обработки классов и атрибутов объектов, специфичных для SAMBA:
sudo ipa-adtrust-install --add-sids
Настройка домена будет производиться в интерактивном режиме:
The log file for this installation can be found in /var/log/ipaserver-adtrust-install.log ============================================================================== This program will setup components needed to establish trust to AD domains for the IPA Server. This includes: * Configure Samba * Add trust related objects to IPA LDAP server To accept the default shown in brackets, press the Enter key. Configuring cross-realm trusts for IPA server requires password for user 'admin'. This user is a regular system account used for IPA server administration. admin password: <введите_пароль_администратора> WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing samba configuration. Do you wish to continue? [no]: yes Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: yes The following operations may take some minutes to complete. Please wait until the prompt is returned.
После успешной настройки будет выведено соответствующее сообщение и данные о портах:
=============================================================================
Setup complete
You must make sure these network ports are open:
TCP Ports:
* 135: epmap
* 138: netbios-dgm
* 139: netbios-ssn
* 445: microsoft-ds
* 1024..1300: epmap listener range
* 3268: msft-gc
UDP Ports:
* 138: netbios-dgm
* 139: netbios-ssn
* 389: (C)LDAP
* 445: microsoft-ds
See the ipa-adtrust-install(1) man page for more details
=============================================================================
Для применения настроек перезапустите сервер IPA:
sudo reboot
Дождитесь загрузки сервера IPA.
На сервере SAMBA выполните команду ipa-client-samba, который создаст cifs и отредактирует /etc/samba/smb.conf для работы SAMBA с IPA:
sudo ipa-client-samba
При успешном автоматическом обнаружении сервера FreeIPA в сети утилита выведет параметры интеграции. Для продолжения введите yes и нажмите Enter:
Searching for IPA server...
IPA server: DNS discovery
Chosen IPA master: server.redosipa.test
SMB principal to be created: cifs/dc1.redosipa.test@REDOSIPA.TEST
NetBIOS name to be used: DC1
Discovered domains to use:
Domain name: redosipa.test
NetBIOS name: REDOSIPA
SID: S-1-5-21-648045486-2022108754-3082002128
ID range: 849200000 - 849399999
Continue to configure the system with these values? [no]: yes
В файле /etc/samba/smb.conf внесите следующие изменения:
- в секции
[global]— проверьте значения параметровrealm,netbios nameиworkgroup, значения должны содержать данные домена (в примере подсвечено красным цветом); - в секции
[home]—добавьте дополнительные настройки (в примере подсвечено зеленым цветом).
В текущем примере файл /etc/samba/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 = DC1
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
Сохраните (Ctrl+S) и закройте (Ctrl+X) файл.
Создайте структуру ролей и привилегий для 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
Перезапустите сервер SAMBA:
sudo reboot
После перезагрузки на сервере SAMBA получите билет Kerberos и создайте keytab:
sudo kinit admin sudo ipa-getkeytab -s server.redosipa.test -p cifs/dc1.redosipa.test -k /etc/samba/samba.keytab sudo reboot
Настройка сетевого каталога на сервере SAMBA
На сервере SAMBA создайте каталог:
sudo mkdir -p /srv/samba/share
Назначьте права на созданный каталог:
sudo chown -R :users /srv/samba/share sudo chmod -R 777 /srv/samba/share sudo setfacl -m default:user:"admin":rwx /srv/samba/share sudo setfacl -R -m default:user:"admin":rwx /srv/samba/share
Затем настройте метки SELinux:
sudo semanage fcontext -a -t samba_share_t /srv/samba/share sudo restorecon -R -v /srv/samba/share
Создайте файл в сетевом каталоге:
touch /srv/samba/share/test.txt
На контроллере домена 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 = /srv/samba/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
Сохраните (Ctrl+S) и закройте (Ctrl+X) файл.
В файле /etc/krb5.conf.d/kcm_default_ccache закомментируйте параметр default_ccache_name = KCM::
sudo nano /etc/krb5.conf.d/kcm_default_ccache
# default_ccache_name = KCM:
Сохраните (Ctrl+S) и закройте (Ctrl+X) файл.
Добавьте в автозапуск службы samba и winbind, перезагрузите сервер samba:
sudo systemctl enable smb winbind --now sudo reboot
Для проверки доступности сетевого каталога на сервере SAMBA необходимо получить тикет (при его отсутствии) и выполнить команду подключения к сетевому каталогу:
kinit admin
smbclient --use-kerberos=required //dc1.redosipa.test/share -c ls
В случае, если все настроено верно, вывод команды будет иметь вид:
. D 0 Wed Sep 9 13:49:34 2026 .. D 0 Wed Sep 9 13:49:34 2026 test.txt N 0 Wed Sep 9 13:49:34 2026 35866236 blocks of size 1024. 19639424 blocks available
Дата последнего изменения: 15.09.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.