Назад | Перейти на главную страницу

Сервер Samba аутентифицируется в Active Directory. Можно ли перезагрузиться и по-прежнему подключиться к домену?

Я попытался настроить файловый сервер 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

Сохраните и перезагрузитесь, чтобы попробовать. Моя работала над этим.