Я попытался настроить файловый сервер Samba с аутентификацией AD.
Аутентификация через Active Directory прошла успешно, но если вы перезагрузите сервер, файловый сервер Samba Linux НЕ присоединится к домену автоматически, как это делает сервер Windows.
Вам все равно придется вручную присоединиться к домену, введя следующую командную строку с паролем пользователя:
net присоединиться к объявлениям -U имя пользователя -S DOMAIN.COM
Есть ли способ это автоматизировать?
Я знаю, что могу поставить сценарии инициализации, но пароль пользователя будет меняться каждые 3 месяца, и я не хочу менять сценарии каждые 3 месяца.
Я ищу что-то вроде файлового сервера Windows, на котором после перезагрузки он все еще будет подключен к домену без каких-либо требований к учетным данным.
Вот мой файл конфигурации:
cat /etc/samba/smb.conf
#======================= Global Settings =====================================
[global]
workgroup = MYDOMAIN
netbios name = host_name
realm = DOMAIN.COM
password server = dc01.domain.com
security = ads
idmap uid = 100000-200000
idmap gid = 100000-200000
template homedir = /home/%U
template shell = /bin/nologin
winbind use default domain = yes
winbind offline logon = yes
winbind enum users = yes
winbind enum groups = yes
[idmsx_share_only]
path = /var/windows_share
browseable = yes
writeable = yes
valid users = my_name
cat /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMAIN.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
NUS.EDU.SG = {
kdc = dc01.domain.com
admin_server = dc01.domain.com
}
[domain_realm]
.domain.com = DOMAIN.COM
domain.com = DOMAIN.COM
cat /etc/nsswitch.conf
passwd: files winbind
shadow: files winbind
group: files winbind
Вот журнал самбы после перезагрузки: (в системных журналах я не нашел никаких сообщений об отклонениях и ошибках)
[root@samba_server ~]# wbinfo -t
checking the trust secret for domain DOMAIN_NAME via RPC calls failed
error code was NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND (0xc0000233)
failed to call wbcCheckTrustCredentials: WBC_ERR_AUTH_ERROR
Could not check secret
[root@samba_server ~]# cat /var/log/samba/log.winbindd
...
[2014/04/28 17:37:24.779467, 0] winbindd/winbindd_util.c:330(trustdom_list_done)
Got invalid trustdom response
[2014/04/28 17:42:24.855052, 0] winbindd/winbindd_util.c:330(trustdom_list_done)
Got invalid trustdom response
[2014/04/28 17:47:24.856028, 0] winbindd/winbindd_util.c:330(trustdom_list_done)
Got invalid trustdom response
[2014/04/28 17:47:48.627719, 0] winbindd/winbindd.c:240(winbindd_sig_term_handler)
Got sig[15] terminate (is_parent=1)
[2014/04/28 17:50:41, 0] winbindd/winbindd.c:1382(main)
winbindd version 3.6.9-168.el6_5 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
[root@samba_server ~]# cat /var/log/samba/log.nmbd
[2014/04/28 17:47:40, 0] nmbd/nmbd.c:66(terminate)
Got SIGTERM: going down...
[2014/04/28 17:50:44, 0] nmbd/nmbd.c:861(main)
nmbd version 3.6.9-168.el6_5 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
[2014/04/28 17:51:07, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
*****
Samba name server SAMBA_SERVER is now a local master browser for workgroup DOMAIN_NAME on subnet XXX.XXX.XXX.XXX
*****
[root@samba_server]# cat /var/log/samba/log.smbd
[2014/04/28 17:50:44, 0] smbd/server.c:1026(main)
smbd version 3.6.9-168.el6_5 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
[2014/04/28 17:50:45.890687, 0] printing/nt_printing.c:102(nt_printing_init)
nt_printing_init: error checking published printers: WERR_ACCESS_DENIED
[2014/04/28 17:50:45.911910, 0] printing/print_cups.c:151(cups_connect)
Unable to connect to CUPS server localhost:631 - Connection refused
[2014/04/28 17:50:45.912696, 0] printing/print_cups.c:528(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Затем мне нужно вручную присоединиться к домену после перезагрузки:
[root@samba_server ~]# net join ads -U USER_NAME -S DC01.DOMAIN.COM
Enter User's password:
Joined domain DOMAIN.
Вам не нужно возвращать хост Samba в домен при каждой перезагрузке! Если вы сделали это правильно, он должен просто пройти повторную аутентификацию после того, как ваши службы вернутся.
У вас есть ошибки для smb, winbind или kerberos? Я не могу просмотреть статью, на которую вы указали ссылку.
Похоже, вы пропустили какой-то этап настройки для одной из этих служб.
Кроме того, на какой платформе вы работаете с Samba? Я предлагаю выполнить базовое устранение неполадок базовых служб, запустив и остановив их, и поиск ошибок в журналах может помочь.
Отдельно, и не для автоматизации задачи повторного присоединения к домену снова и снова вы должны получить «служебную учетную запись» с бессрочным паролем для вашей службы Samba.
В большинстве сред, если вы четко объясните требование для пароля с неограниченным сроком действия, что он не требует каких-либо необычных привилегий и что вы будете соблюдать надлежащие процедуры при его поддержании, то обычно проблем не возникает.
Если это сверхбезопасная среда, и они не дадут вам пароль с неограниченным сроком действия или более длительный интервал истечения срока действия, вам, вероятно, придется заново настраивать его каждые три месяца.
Я тоже пытался найти это и наткнулся на это. К сожалению, я не могу найти источник, где я его взял, но я считаю, что это происходит, потому что winbind запускается после smbd и nmbd. Таким образом, фокус в том, чтобы перезапустить smbd и nmbd после запуска winbind. Я не думаю, что это правильный способ администратора Linux, но он работает для меня
редактировать /etc/rc.local
Добавить
service smbd restart
service nmbd restart
Сохраните и перезагрузитесь, чтобы попробовать. Моя работала над этим.