Донастройка сервера FreeIPA
Если при установке сервера не была применена опция --setup-adtrust (установка компонент для работы с samba и Windows AD), то доустановить необходимые компоненты:
Command |
---|
sudo kinit admin sudo ipa-adtrust-install --add-sids --add-agents |
После этого сервис :
- samba получит роль ROLE_DOMAIN_PDC;
- Сервис samba будет переведён под управление FreeIPA;
- Будет создана и зарегистрирована доменная служба CIFS.
Предупреждение |
---|
После установки ipa-adtrust-install чтение конфигурации samba на сервере будет доступно только суперпользователю. Монтирование и авторизацией авторизация через samba на сервере для простых пользователей сервере работать не будут. Монтировать разделяемые ресурсы следует только с компьютеров-клиентов. |
Службы samba и winbind теперь будут управляться командой ipactl:
Command |
---|
sudo ipactl status Directory Service: RUNNING krb5kdc Service: RUNNING kadmin Service: RUNNING named Service: RUNNING httpd Service: RUNNING ipa-custodia Service: RUNNING ntpd Service: RUNNING smb Service: RUNNING winbind Service: RUNNING ipa-otpd Service: RUNNING ipa-dnskeysyncd Service: RUNNING ipa: INFO: The ipactl command was successful |
В конфигурационном файле сервиса samba /etc/samba/smb.conf останется только отсылка в БД "registry", куда будут перенесены все конфигурационные параметры:
Информация |
---|
### Added by IPA Installer ### |
Информация |
---|
Опция "config backend = registry" указывает, что все конфигурационные параметры будут храниться в БД registry, а параметры, указанные в файле /etc/samba/smb.conf после этой опции будут игнорироваться. Можно создать комбинированную конфигурацию, заменив "config backend = registry" на "include = registry", что позволит задавать параметры в файле /etc/samba/smb.conf. |
Проверить конфигурацию можно стандартной командой testparm, однако теперь только от имени суперпользователя:
Command |
---|
sudo testparm |
Редактировать БД "registry" можно с помощью специальной утилиты samba-registry (устанавливается автоматически при установке пакета samba):
Command |
---|
sudo samba-registry |
При этом параметры samba хранятся в ветке /HKEY_LOCAL_MACHINE/SOFTWARE/Samba/smbconf:
Все секции конфигурационного файла samba (в том числе разделяемые ресурсы, включая ресурс homes) могут быть указаны в этой ветке. Все параметры имеют одинаковый тип REG_SZ.ipa service-add cifs/cifs.ipadomain.le
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/cifs.ipadomain.le
sudo kinit -kt /etc/krb5.keytab
sudo ipa-getkeytab -s ipa.ipadomain.le -p cifs/cifs.ipadomain.le -k /etc/samba/samba.keytab
kinit admin ldapsearch -Y gssapi "(uid=admin)"kdestroy -A kinit -kt /etc/samba/samba.keytab cifs/ipa.ipadomain.le ldapsearch -Y gssapi "(ipaNTHash=*)" ipaNTHash
ldapsearch -Y gssapi "(uid=ipauser)"
При этом конфигурационные данные можно импортировать в registry из файлов с синтаксисом конфигурационного файла samba с помощью команды net.
Например, создадим зазделяемые ресурсы homes и share:
Command |
---|
local file=`mktemp` share="/srv/share" cat << EOF > $file |
Информация |
---|
После внесения изменений в registry изменения применяются автоматически, и, в отличие от работы с конфигурационным файлом, службу samba перезапускать не нужно. |
Информация |
---|
Отдельно выполнять команду добавления службы "ipa service-add ...", как рекомендуется во многих Интернет-инструкциях, не нужно: служба добавится автоматически. |
Создание домашних каталогов
Для тестирования создадим на сервере условный домашний каталог пользователя admin (т.е. администратора FreeIPA, создаваемого "по умолчанию"):
Информация |
---|
sudo mkhomedir_helper admin |
Подключение ресурса с клиентской доменной машины
После выполнения указанных выше действий ресурс будет доступен на клиентской машине с авторизацией через Kerberos:
Command |
---|
kinit admin |
Ошибка соединения NT_STATUS_BAD_NETWORK_NAME говорит о том, что забыли создать на сервере каталог (в данном случае - домашний каталог пользователя).
Ошибка соединения NT_STATUS_INVALID_PARAMETER говорит о том, что неправильно получен билет Kerberos (чаще всего билет получен из-под sudo, а авторизовтаься пытаются без sudo).