免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2149 | 回复: 0
打印 上一主题 下一主题

Samba 与squid 统一使用域(AD)验证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-28 10:12 |只看该作者 |倒序浏览
其实蛮简单的.红帽中文站也说了,只要改 /etc/krb5.conf 和/etc/samba/smb.conf这两个文件,然后用net ads join加就行了.
一开始在加的时候,老是出错
上面这个主要是samba里的netbios name搞错了,没有按FQDN标准来写.改过来就可以了.
[/quote]
[ 本帖最后由 枫影谁用了 于 2007-4-28 16:10 编辑 ]
lovegqin 2007-4-26 02:48:00
再详细一些就更好了
枫影谁用了 2007-4-26 03:20:00
这个就是转的了
本文是一篇设置samba服务器加入win2003活动目录的工作笔记 。
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 filesrv@MYDOMAIN.COM
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 filesrv@MYDOMAIN.COM
输入口令后,建立帐号:
将服务器加入活动目录:
/usr/local/samba/bin/net ads join
去 Windows 2003 服务器检查上面的工作:打开活动目录用户和计算机,查看其中的条目,如果成功的话,就可以看到你的 Linux 服务器。 (下面有图)
然后在 Linux 机器上,你就可以采用 smbclient 命令连接到 Windows 的共享文件夹,而不需要输入口令(因为采用了Kerberos )。
/usr/local/samba/bin/smbclient //w2k/c$ -k
这个命令可能会产生一些错误信息,但是不要紧它能工作的。
[ 本帖最后由 枫影谁用了 于 2007-4-26 11:42 编辑 ]
枫影谁用了 2007-4-26 03:25:00
接下来就可以做proxy用域验证了....呵呵
lovegqin 2007-4-26 03:34:00
希望LZ 再接再厉!!!
枫影谁用了 2007-4-28 07:54:00
编译Squid
./configure --prefix=/usr/local/squid --sysconfdir=/etc/squid --enable-async-io=32 --enable-auth="basic,ntlm" --enable-external-acl-helpers="wbinfo_group " --enable-kill-parent-hack --enable-poll --enable-removal-policies="heap,lru" --disable-icmp --disable-delay-pools --disable-useragent-log -disable-arp-acl --disable-ident-lookups --disable-internal-dns --enable-err-language="Simplify_Chinese" --enable-storeio=aufs,ufs,diskd,coss,null
make;make install
vi /etc/squid/squid.conf
找到 cache_dir,http_port,http_access,cache_effective_user & cache_effective_ group
去掉cache_dir,http_port,http_reply_access allow all前面的#号
把#cache_effective_user nobody改成cache_effective_user squid
#cd /usr/local/squid/var
#mkdir cache
#useradd -s /sbin/nologin -c "Only Squid" squid 加squid用户
#chown squid:squid cache  (默认所有者和组是root,不改在后面的配置过程中将出现错误,下同)
#chown squid:squid logs   (同上)
启动squid:
#/usr/local/squid/sbin/squid -z
[root@MISDELL1 squid-2.6.STABLE11]# /usr/local/squid/sbin/squid -z
FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'
这个错误是在squid.conf里没有设置主机名引起的,用hostname -f,得出主机名,再填上去即可。
#/usr/local/squid/sbin/squid -NCd1 (后面是数字1哦!)
如果没问题的话将显示:"Ready to serve requests".
#/usr/local/squid/sbin/squid
如果在启动squid时出现这个错误(FATAL: ERROR: Unknown policy lru),时要在./configure时加上参数(--enable-removal-policies="heap,lru")
先将squid.conf里的http_access deny all改为http_access allow all
重启动squid,看看可不可以代理上网。可以的话,再开始设置结合域验证。开始设置域验证的时候要再将http_access allow all改为http_access deny all
然后在squid.conf加上: Domain_Internet_Users这个组里的用户可以上网。
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
external_acl_type NT_global_group %LOGIN /usr/local/squid/libexec/wbinfo_group.pl
acl ProxyUsers external NT_global_group Domain_Internet_Users
acl AuthenticatedUsers proxy_auth REQUIRED
http_access allow AuthenticatedUsers ProxyUsers
http_access deny all
chgrp squid /var/cache/samba/winbindd_privileged
chmod -R 750 /var/cache/samba/winbindd_privileged
如果使用域帐号登陆计算机,那么浏览网页时就不会提示输入用户名及密码认证,非域用户登陆计算机,通过代理访问网站时,IE将弹出用户身份验证窗口要求用户输入用户名及密码验证。
在squid.conf中同样可以设置允许访问的域用户,及不允许访问的域用户。对于windows域用户来说,说有的验证都是透明的。不需要手动输入用户名及密码,方便用户的使用。
另外squid封qq 还是挺容易的 squid.conf里加规则
第二条denyqq_ip.list可以不要
acl badurls dstdomain -i .qq.com .tencent.com
http_access deny badurls
acl qq_ip dst "/etc/squid/denyqq_ip.list"
http_access deny  qq_ip
参考资料:
http://bbs.chinaunix.net/viewthr ... 3Ddigest&page=1
http://blog.chinaunix.net/u/2937/showart.php?id=86752
http://allanzr.spaces.live.com/b ... 9847fb691!134.entry
[ 本帖最后由 枫影谁用了 于 2007-4-28 15:59 编辑 ]
jealt 2007-4-28 13:45:00
如果squid也用域验证,那设置好ie的代理服务器,就可以直接上网了吧
枫影谁用了 2007-4-28 14:04:00
是啊...如果是AD组里允许上网的用户,是可以直接上的(不会弹出密码验证的窗口),如果是AD里不允许的域用户,是不会弹出密码验证窗口,直接就回复提示说没有允许上网.
如果不是域用户,是会弹出密码验证的.
fandy 2007-4-29 01:39:00
高人,学习对像!
枫影谁用了 2007-4-29 02:20:00
小弟正在搞postfix用2003AD验证呢......
枫影谁用了 2007-4-29 10:02:00
见过兄弟发的贴子Postfix 用AD验证(http://bbs.chinaunix.net/viewthr ... ;extra=&page=1)
不知道兄弟可不可以将文档共享一下呢?
bitterness 2007-6-12 10:23:00
老大,能显示我的IP,是怎么搞的呀
还有,我想直接在Windows 2003 域环境中用samba做文件服务器,不做其他,我能加入域,相关测试也能过,可我在设置文件夹共享权限时,不知道如何才能设置成一个2003AD中一个组的权限,假如,这个组的GID在我的samba中GID为1000,我要如何设置呢,请指教


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/45117/showart_2040115.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP