设为首页 收藏本站
查看: 2574|回复: 0

[经验分享] Samba 与squid 都可以统一使用域(AD)验证

[复制链接]

尚未签到

发表于 2015-9-3 08:54:45 | 显示全部楼层 |阅读模式
  其实蛮简单的.红帽中文站也说了,只要改 /etc/krb5.conf 和/etc/samba/smb.conf这两个文件,然后用net ads join加就行了.
一开始在加的时候,老是出错
引用:root@CSR-SERVER-TEST ~]# net ads join -Uadministrator
administrator's password:  
winscard_clnt.c:320:SCardEstablishContextTH() Cannot open public shared file: /var/run/pcscd.pub
winscard_clnt.c:320:SCardEstablishContextTH() Cannot open public shared file: /var/run/pcscd.pub
Using short domain name -- hyprt.com
Failed to set servicePrincipalNames. Please ensure that
the DNS domain of this server matches the AD domain,
Or rejoin with using Domain Admin credentials.winscard_clnt.c:320:SCardEstablishContextTH() Cannot open public shared file: /var/run/pcscd.pub
Disabled account for 'CSR-SERVER-TEST' in realm 'HYPRT.COM'
[iyunv@CSR-SERVER-TEST ~]#
smb.conf里面的
netbios name=CSR-SERVER-TEST  //这个是错误的
netbios name=CSRSERVERTEST //这样就行了,其实可以用hostname来测试一下
引用:[iyunv@CSRSERVER ~]# hostname  -f
CSRSERVERTEST
[iyunv@CSR-SERVER-TEST ~]# hostname -f  
hostname: 未知的主机
[iyunv@CSRSERVER ~]#  


上面这个主要是samba里的netbios name搞错了,没有按FQDN标准来写.改过来就可以了.


引用:[iyunv@CSRSERVER etc]# smbclient  -L //domain -k
OS=[Windows Server 2003 R2 3790 Service Pack 2] Server=[Windows Server 2003 R2 5.2]
        Sharename       Type      Comment
        ---------       ----      -------
        Manager         Disk      
        QC              Disk      
        HanseYang       Disk      
        C$              Disk      預設共用
        hr              Disk      
        Ppc             Disk      
        Engineer        Disk      
        XLZeng          Disk      
        CTP             Disk      
        PE              Disk      
        est             Disk      
        IE              Disk      
        MeiZ            Disk      
        Human           Disk      
        GLSu            Disk      
        pmc             Disk      
        IPC$            IPC       遠端 IPC
        PUR             Disk      
        yorky           Disk      
        pre-press       Disk      
        AprilH          Disk      
        ADMIN$          Disk      遠端管理
        shipping        Disk      
        D$              Disk      預設共用
        Cust PA         Disk      
        Customer        Disk      
        Finance         Disk      
        Michelle Ma     Disk      
        FrankZhao       Disk      
        SYSVOL          Disk      登入伺服器共用  
        finhy           Disk      
        NETLOGON        Disk      登入伺服器共用  
        public_data     Disk      
        product         Disk      
        WangW           Disk      
OS=[Windows Server 2003 R2 3790 Service Pack 2] Server=[Windows Server 2003 R2 5.2]
        Server               Comment
        ---------            -------
        Workgroup            Master
        ---------            -------
[iyunv@CSRSERVER etc]#  


http://bbs.chinaunix.net/viewthread.php?tid=968601  问题参考
[ 本帖最后由 枫影谁用了 于 2008-1-2 16:41 编辑 ]


   lovegqin 回复于:2007-04-26 10:48:22
再详细一些就更好了

   枫影谁用了 回复于:2007-04-26 11:20:20
本文是一篇设置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-04-26 11:25:37
接下来就可以做proxy用域验证了....呵呵

   lovegqin 回复于:2007-04-26 11:34:56
希望LZ 再接再厉!!!

   枫影谁用了 回复于:2007-04-28 15:54:06
编译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  
[iyunv@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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-108901-1-1.html 上篇帖子: squid的处理request和reply的流程 下篇帖子: tmpfs加速并降低squid负载(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表