Chinaunix首页 | 论坛 | 博客
  • 博客访问: 845481
  • 博文数量: 756
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:40
文章分类

全部博文(756)

文章存档

2011年(1)

2008年(755)

我的朋友

分类:

2008-10-13 14:41:05

以下是我找到的一篇文章描述如何设置samba加入ADS,可是当我用kinit命令测试通信时,却报出“Improper format of Kerberos configuration file while initializing Kerberos 5 library”的错误,检查了一下配置文件,设置与描述的一样,不知道是为什麽?

1.samba服务器软件需求
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

2.配置kerberos(关键)
下面配置参数让 Kerberos 进程知道处理活动目录服务器,对 /etc/krb5.conf 做适当的修改,修改时需要注意的是 Kerberos 是大小写敏感的。
这是我的krb5.conf配置文件:
[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
}


3.连接2003服务器

kinit [email="filesrv@MYDOMAIN.COM"]filesrv@MYDOMAIN.COM[/email]

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

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

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

workgroup = MYDOMAIN
netbios name = filesrv
server string = Filesrv

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

重新启动samba服务
service smb restart

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

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

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

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

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

阅读(805) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~