红联Linux门户
Linux帮助

如何设置samba加入ADS

发布时间:2006-08-26 00:21:20来源:红联作者:晚点
1.samba服务器软件需求
[code]krb5-workstation-1.2.7-19
pam_krb5-1.70-1
krb5-devel-1.2.7-19
krb5-libs-1.2.7-19
samba-3.0.5-2[/code]

2.配置kerberos(关键)
下面配置参数让 Kerberos 进程知道处理活动目录服务器,对 /etc/krb5.conf 做适当的修改,修改时需要注意的是 Kerberos 是大小写敏感的。
这是我的krb5.conf配置文件:
[code][logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = MYDOMAIN.COM
dns_lookup_realm = false
dns_lookup_kdc = false

[realms]
MYDOMAIN.COM = {
kdc = 192.168.2.248
# admin_server = kerberos.example.com:749
default_domain = MYDOMAIN.COM
}

[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}[/code]

3.连接2003服务器

kinit filesrv@MYDOMAIN.COM

Kerberos 的 kinit 命令将测试服务器间的通信,后面的域名MYDOMAIN.COM 是你的活动目录的域名,必须大写,否则会收到错误信息:
[code]kinit(v5): Cannot find KDC for requested realm while getting initial credentials.[/code]

如果通信正常,你会提示输入口令,口令正确的话,就返回 bash 提示符,如果错误则报告:
[code]kinit(v5): Preauthentication failed while getting initial credentials.[/code]

4.配置samba
修改/etc/samba/smb.conf如下几行

[code]workgroup = MYDOMAIN
netbios name = filesrv
server string = Filesrv

realm = MYDOMAIN.COM // 活动目录服务器域名
security = ADS // 采用活动目录认证方式
encrypt passwords = yes // 采用加密的口令[/code]

重新启动samba服务
[code]service smb restart[/code]

配置完 Samba 和 Kerberos 后,需要在 Windows 2000 活动目录下建立一个计算机帐号,如果需要在 Linux 上来完成的话,运行:
[code]/usr/kerberos/bin/kinit filesrv@MYDOMAIN.COM[/code]
输入口令后,建立帐号:

将服务器加入活动目录:
[code]/usr/local/samba/bin/net ads join[/code]

去 Windows 2003 服务器检查上面的工作:打开活动目录用户和计算机,查看其中的条目,如果成功的话,就可以看到你的 Linux 服务器。

然后在 Linux 机器上,你就可以采用 smbclient 命令连接到 Windows 的共享文件夹,而不需要输入口令(因为采用了Kerberos )。
[code]/usr/local/samba/bin/smbclient //w2k/c$ -k[/code]

这个命令可能会产生一些错误信息,但是不要紧它能工作的。
文章评论

共有 1 条评论

  1. shhsc 于 2006-08-29 16:08:33发表:

    这个不错啊