我试图用AD身份validation来设置Samba文件服务器。
通过活动目录authentication是成功的,但如果你重新启动服务器的Linux Samba文件服务器将不会像Windows服务器自动join域。
您仍然必须通过使用用户密码发出以下命令行来手动join域:
networkingjoin广告-U用户名-S DOMAIN.COM
有没有办法让这个自动化?
我知道我可以把一个init脚本,但用户密码将每3个月更改,我不想每3个月更改一次脚本。
我正在寻找像Windows文件服务器,其中重新启动后,它仍然连接到域没有任何login凭据的要求。
这里是我的configuration文件:
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
这里是重启后的samba日志:(我没有在系统日志中发现任何exception/错误消息)
[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
然后我必须在重新启动后手动join域:
[root@samba_server ~]# net join ads -U USER_NAME -S DC01.DOMAIN.COM Enter User's password: Joined domain DOMAIN.
每次重新启动时,您都不需要将您的Samba主机join域。 如果你做得正确,在你的服务恢复后,应该重新进行身份validation。
你是否遇到任何smb,winbind或kerberos的错误? 我无法查看您已链接的文章。
看起来您可能已经省略了其中一个服务的某个configuration步骤。
另外,你在Samba上的平台是什么? 我build议通过启动和停止底层服务进行一些基本的故障排除,并在日志中查找错误可能会有所帮助。
在另一个注意事项上,而不是自动化一个任务来反复join域,你应该得到一个“服务帐户”,并为你的Samba服务提供一个不到期的密码。
在大多数环境中,如果你清楚地解释了对未过期的密码的要求,它不需要任何不寻常的特权,并且你将遵循适当的维护过程,那么通常没有问题。
如果这是一个超安全的环境,他们不会给你一个非到期的密码,或更长的到期时间间隔,那么你可能只需要每三个月处理一次重新configuration。
我一直在试图find这个,并偶然发现。 不幸的是,我找不到我得到它的来源,但我相信这是因为winbind是在smbd和nmbd之后开始的。 所以诀窍是在winbind启动后重新启动smbd和nmbd。 我不认为这是正确的Linuxpipe理方式,但它适用于我
编辑/etc/rc.local添加服务smbd重启服务nmbd restart
保存并重新启动以试用。 我的工作是这样做的。