windows同步linux用户,用winbind实现windowsPDC和linux系统的帐号同步
测试环境:操作系统: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用户登录,能够看到$提示符,说明配置完成。
相关日志
windows同步linux用户,用winbind实现windowsPDC和linux系统的帐号同步相关推荐
- Linux用户管理安全宝典:密码防破解与帐号文件保护
Linux作为一种多任务.多用户的操作系统,在同一时间段上可能为众多用户使用,且用户的管理直接关系到整个系统的安全,用户需要对其中的密码管理和帐户文件管理进行着重的强调和保护. (更多详细内容请关注L ...
- linux账号安全管理,保证Linux系统安全——帐号管理
不论是Windows操做系统仍是Linux操做系统,想要登陆系统必需要有合法的帐户及密码.本篇博文主要介绍Linux系统下的帐户信息.web 博文大纲: 1.Linux系统的帐号及群组 1.UID与G ...
- linux应用程序通常由哪些文件组成,Linux系统的帐号文件由哪些组成( )。
Linux系统的帐号文件由哪些组成( ). 答:/etc/group /etc/passwd 以下属于人文社会旅游环境的的是(). 答:文物古迹环境 风俗民情环境 旅游城市环境 内类是将需要交流的数据 ...
- 1.如何实现MT4帐号同步交易?
如何实现MT4帐号同步交易? 使用本跟单EA,可以实现在同一台计算机上运行两个(或更多个)MetaTrader 4 自动复制交易. 用来喊单的MT4帐号不需要帐号必须拥交易权限,因此,可以使用MT4& ...
- linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd
修改用户密码参数
nbsp - phpStudy...
详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...
- linux用户和群组的作用,linux中的用户、群组和权限
新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 555 natasha useradd -u 1000 -g 555 ...
- linux用户的邮件存在哪里,在Linux系统中收发及查看邮件
系统收到邮件都会保存在"/var/spool/mail/[linux用户名]"文件中. 在linux中输入mail,就进行了收件箱,并显示二十封邮件列表. 此时命令提示符为&quo ...
- 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...
我在上一门Python入门课程,但有点困在作业上.任何建议或资源将不胜感激!在 问题是: 用Python编写一个程序,提示用户输入由7位数字组成的帐号.在 从用户处获取该帐号后,验证该帐号是否有效.您 ...
- linux用户目录设置权限设置,为linux目录设置多个用户权限
为linux目录设置多个用户权限 关注:252 答案:2 mip版 解决时间 2021-01-26 18:25 提问者情婲.毒 2021-01-26 13:35 我想为linux的某个目录设置5个 ...
最新文章
- 在自己的网站添加关注新浪关注按钮
- 【深度学习】人脸识别和口罩检测的应用
- hibernate里的generator中class =value介绍
- 【JulyEdu-Python基础】第 8 课:Python第三方库
- iOS之如何实现isEqual的重写
- 前后端混合开发模式和前后端分离开发模式
- Bailian4099 队列和栈【堆栈+队列】
- J2ME游戏开发感想
- 允许更新此预编译站点的作用
- HTTP协议之Content-Encoding - 天下无贼 - 51CTO技术博客
- k8s拉取harbor镜像_Kubernetes-连接Harbor仓库拉取镜像
- 魔兽世界 助手 无法连接服务器,魔兽世界助手8.1无法登陆
- 进阶之路 | 奇妙的Activity之旅
- win10 输入法 删除
- 【H5】用易企秀做H5做完发现页面播放顺序乱套了???请不要单选自动播放
- 数学建模之稳定性模型详解
- PGSQL学习——触发器
- 30 岁的码农人生 ——人生至暗时,你依然能窥见光明
- 箱形图 python_Python-箱形图
- Photoshop各历史版本回顾以及系统要求