III. 利用Kinit工具测试krb5的设置是否正确
执行下列命令:
提示输入用户administrator的密码,正确输入密码之后返回以下信息:
或直接返回到命令行状态,其它提示信息均可能是出错信息。请务必确认您的Linux系统与Windows域服务器的时间及时区设置一致,否则将无法正常与活动目录服务器正常通信。
IV. Samba配置
因为我们此处并不涉及到真正的samba服务器的配置,所以并没有将整个的配置内容放在这里,而仅仅只放了架设Squid代理服务器所需要的部分,如下所示:
2idmap gid = 10000-20000
3idmap uid = 10000-20000
4password server = 192.168.21.21
5workgroup = COMPANY #域的NetBios名
6os level = 20
7encrypt passwords = yes
8security = ads #设置为Windows活动目录安全-ADS验证
9realm = COMPANY.COM #验证域realm,必须大写
10winbind use default domain = yes
以上列出来的项目均需要根据实际情况改动。
V. 通过ntlm验证程序来测试之前所做的配置是否正确
在做测试之前,如必要时,请重新启动Linux服务器。不过,你也可以尝试仅重新启动samba及winbind服务来达到同样的目的(呵呵……这得看运气!):
[root@proxy ~]# service smb restart
重启系统或以上服务之后,执行以下命令:
提示输入用户administrator的密码,正确输入密码之后返回以下信息:
当返回的结果如上面所描述的话,则说明域账号administrator已经通过了AD的认证。可以开始接下来的工作了。
VI. 配置NSS(Name Service Switch)
NSS是Name Service Switch的缩写,具体功能请参考维基百科中的解释http://en.wikipedia.org/wiki/Name_Service_Switch,具体配置如下:
group: files winbind
其它部份无需改变。
VII. Squid的配置
既然是做代理服务器,Squid的设置当然是重中之重,下面,根据具体实现功能的不同,分别讲述Squid的设置:
1. 为Squid配置第三方身份验证程序
2auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
3auth_param ntlm children 5
4auth_param ntlm keep_alive on
5
6#启用squid-2.5-basic做为基本验证模式的辅助协议
7auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
8auth_param basic children 5
9auth_param basic realm Squid proxy-caching web server
10auth_param basic credentialsttl 2 hours
11auth_param basic casesensitive off
12
13#下面的这句参数是重点,保证了Squid可以针对不同的用户组进行不同的访问控制策略
14external_acl_type NT_global_group %LOGIN /usr/lib/squid/wbinfo_group.pl