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用户登录,能够看到$提示符,说明配置完成。

相关日志

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值