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

[经验分享] 用winbind实现windowsPDC和linux系统的帐号同步

[复制链接]

尚未签到

发表于 2015-12-16 10:17:39 | 显示全部楼层 |阅读模式
  测试环境:
操作系统:redflagDC4.1 samba版本:samba-3.0.2a-9AX ip:172.16.100.2
(注意,一定要使用比较“干净”的DC4.1环境,就用自带的samba也可以成功,我们之前的测试因为操作系统已经被别人做过配置,所以换了好几个版本的samba都不行,不得已后来重新安装DC4.1,配置就很顺利了。)
PDC控制器:windows2000Server 测试域名tail 主机名pig ip:172.16.100.1
测试DNS :windows2000Server 主机名pig (与PDC为同一台服务器)

测试过程:

一、准备工作:

配置windows2000Server为PDC,建立tail域,配置能够解析 tail 域的DNS,并用window2000或者windows98和客户端使用该DNS,能够正确登录windows2000Server的PDC域。

二、配置winbindd服务连接PDC抓到的域内的用户和组信息:
1、修改nsswitch.conf文件:
vi /etc/nsswitch.conf
做如下修改,使winbind成为passwd及group的认证信息源

passwd: files winbind
shadow: files
group: files winbind

2、配置DC4.1的DNS客户端文件:

vi /etc/resolv.conf
加上nameserver 172.16.100.1
ping一下pig.tail,确保可以连通

3、vi smb.conf,确保[global]段设置中有下面几行:

[global]
       workgroup = TAIL
       netbios name = rfdc41
       server string = Samba Server
       security = domain
       password server = pig.tail
       preferred master = no
       domain master = no
  domain logons = no
       idmap uid = 10000-20000
       idmap gid = 10000-20000
       template shell = /bin/bash
       template homedir = /home/%D/%U
       winbind separator = %
       winbind use default domain = Yes

idmap uid和idmap gid是设置winbind把win200x域用户、组map成本地用户、组所使用的ID号范围,如果用户很多,可以加大这两个值之间的差。
Template homedir是用户登录后的主目录,我设置成/home/域名/用户名。
Template shell是用户登录后的shell,如果你想用PDC给你的sshd做认证,就可以加上这个,给用户一个登录shell。
winbind separator是获取帐号的时候,域名与用户名之间的分隔符,比如tail%work
winbind use default domain设置它为yes是在显示的时候屏蔽掉域名与用户名之间的分隔符,否则用户在登录linux系统的时候,就要很烦琐地键入类似tail%work这样的用户名了。

5、用samba的net join命令把这台机器加入到windows200x域中(samba3.0以上的版本可以支持)

net rpc join -S pig.tail -U Administrator
然后输入域管理员密码,也就是Administrator的密码。

6、启动samba服务和winbindd服务

#service smb start
#service winbind start

7、用wbinfo命令查看用winbindd服务连接PDC抓到的域内的用户和组的信息

wbinfo -u
可以看到类似如下winbind抓取到的PDC用户信息:

Administrator
Guest
huaijinyang
jack
krbtgt
laohuai
user1
user2
user3
user4
user5
work
再执行:

wbinfo -g
可以看到类似如下winbind抓取到的PDC组信息:

BUILTIN%System Operators
BUILTIN%Replicators
BUILTIN%Guests
BUILTIN%Power Users
BUILTIN%Print Operators
BUILTIN%Administrators
BUILTIN%Account Operators
BUILTIN%Backup Operators
BUILTIN%Users
Domain Admins
Domain Users
Domain Guests
Domain Computers
Domain Controllers
Cert Publishers
Schema Admins
Enterprise Admins
Group Policy Creator Owners
DnsUpdateProxy
zzz

8、检查PDC用户(组)转换为本地用户(组)UID和GIU情况:

getent passwd
显示将PDC用户转换成系统用户的UID情况,显示最后类似如下信息:

Administrator:x:10000:10000::/home/TAIL/Administrator:/bin/bash
Guest:x:10001:10000::/home/TAIL/Guest:/bin/bash
huaijinyang:x:10002:10000:huai:/home/TAIL/huaijinyang:/bin/bash
jack:x:10003:10000:jack:/home/TAIL/jack:/bin/bash
krbtgt:x:10004:10000::/home/TAIL/krbtgt:/bin/bash
laohuai:x:10010:10000:laohuai:/home/TAIL/laohuai:/bin/bash
user1:x:10005:10000:user1:/home/TAIL/user1:/bin/bash
user2:x:10006:10000:user2:/home/TAIL/user2:/bin/bash
user3:x:10007:10000:user3:/home/TAIL/user3:/bin/bash
user4:x:10008:10000:user4:/home/TAIL/user4:/bin/bash
user5:x:10011:10000:user5:/home/TAIL/user5:/bin/bash
work:x:10009:10000:work:/home/TAIL/work:/bin/bash
PDC用户Administrator的UID从10000开始。


getent group
显示将PDC用户转换成系统用户的GID情况,显示最后类似如下信息:

Domain Admins:x:10003:Administrator
Domain Users:x:10000:Administrator,Guest,krbtgt,work,jack,user1,user2,user3,user4,huaijinyang,user5,laohuai
Domain Guests:x:10005:Guest
Domain Computers:x:10006:CALL-CENTER$,hjy$,localhost$,lishen$,HUAIJINYANG$,smb1$,rfas41$,lux$
Domain Controllers:x:10007:PIG$
Cert Publishers:x:10008:
Schema Admins:x:10002:Administrator
Enterprise Admins:x:10004:Administrator
Group Policy Creator Owners:x:10001:Administrator
DnsUpdateProxy:x:10009:
zzz:x:10010:
BUILTIN%System Operators:x:10011:
BUILTIN%Replicators:x:10012:
BUILTIN%Guests:x:10013:
BUILTIN%Power Users:x:10014:
BUILTIN%Print Operators:x:10015:
BUILTIN%Administrators:x:10016:
BUILTIN%Account Operators:x:10017:
BUILTIN%Backup Operators:x:10018:
BUILTIN%Users:x:10019:
PDC组Users 的UID从10000开始。
能够看到这样的信息,表示配置工作已经完成了大半,winbind服务已经在正常工作了。

这里有一点需要注意,如果在PDC域中新建了用户或者为某个用户修改了密码,需要重新刷新samba服务和winbind服务,过程如下:

service smb stop
service winbind stop
rm -f /etc/samba/*.tdb
rm -f /var/cache/samba/*.tdb
net rpc join -S pig.tail -U Administrator
service smb start
service winbind start
才能重新抓取到PDC的更新信息。

9、建立用户的登录主目录
samba的配置文件中指定了template homedir的路径,我们先要建立这个目录
mkdir /home/TAIL
注意PDC域名要大写!

三、配置PDC用户登录的pam认证
1
、备份原来的pam认证文件

mkdir /home/backup
cp /etc/pam.d/login /home/backup
cp /etc/pam.d/system-auth

2、修改login文件
vi /etc/pam.d/login
这个文件最后一句是

session    optional     pam_console.so
在这句后面加上

session    required     pam_mkhomedir.so skel=/etc/skel umask=0022

3、修改system-auth文件

vi /etc/pam.d/system-auth
a、找到以“auth”字符串开头并调用“pam_unix.so”的语句,如下:

auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
在这一句最后加上字符串“use_first_pass”,如下:

auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok  use_first_pass
然后在这一句上面加上语句:

auth        sufficient    /lib/security/pam_winbind.so

b、找到以“account”字符串开头并调用“pam_unix.so”的语句,如下:

account     required      /lib/security/$ISA/pam_unix.so
在这一句最后加上字符串“use_first_pass”,如下:

account     required      /lib/security/$ISA/pam_unix.so use_first_pass
然后在这一句上面加上语句:

account     sufficient    /lib/security/pam_winbind.so

四、用PDC用户登录测试
在linux中某个终端以PDC用户登录,能够看到$提示符,说明配置完成。
相关日志
利用Linux的Samba服务模拟NT域

运维网声明 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-151886-1-1.html 上篇帖子: 浅谈Windows Phone与iOS、Android三个平台的差异性 下篇帖子: 微软坚信Windows 10能扭转颓势
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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