测试环境:操作系统: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系统的帐号同步相关推荐

  1. Linux用户管理安全宝典:密码防破解与帐号文件保护

    Linux作为一种多任务.多用户的操作系统,在同一时间段上可能为众多用户使用,且用户的管理直接关系到整个系统的安全,用户需要对其中的密码管理和帐户文件管理进行着重的强调和保护. (更多详细内容请关注L ...

  2. linux账号安全管理,保证Linux系统安全——帐号管理

    不论是Windows操做系统仍是Linux操做系统,想要登陆系统必需要有合法的帐户及密码.本篇博文主要介绍Linux系统下的帐户信息.web 博文大纲: 1.Linux系统的帐号及群组 1.UID与G ...

  3. linux应用程序通常由哪些文件组成,Linux系统的帐号文件由哪些组成( )。

    Linux系统的帐号文件由哪些组成( ). 答:/etc/group /etc/passwd 以下属于人文社会旅游环境的的是(). 答:文物古迹环境 风俗民情环境 旅游城市环境 内类是将需要交流的数据 ...

  4. 1.如何实现MT4帐号同步交易?

    如何实现MT4帐号同步交易? 使用本跟单EA,可以实现在同一台计算机上运行两个(或更多个)MetaTrader 4 自动复制交易. 用来喊单的MT4帐号不需要帐号必须拥交易权限,因此,可以使用MT4& ...

  5. linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd 修改用户密码参数 nbsp - phpStudy...

    详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...

  6. linux用户和群组的作用,linux中的用户、群组和权限

    新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 555 natasha useradd -u 1000 -g 555  ...

  7. linux用户的邮件存在哪里,在Linux系统中收发及查看邮件

    系统收到邮件都会保存在"/var/spool/mail/[linux用户名]"文件中. 在linux中输入mail,就进行了收件箱,并显示二十封邮件列表. 此时命令提示符为&quo ...

  8. 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...

    我在上一门Python入门课程,但有点困在作业上.任何建议或资源将不胜感激!在 问题是: 用Python编写一个程序,提示用户输入由7位数字组成的帐号.在 从用户处获取该帐号后,验证该帐号是否有效.您 ...

  9. linux用户目录设置权限设置,为linux目录设置多个用户权限

    为linux目录设置多个用户权限 关注:252  答案:2  mip版 解决时间 2021-01-26 18:25 提问者情婲.毒 2021-01-26 13:35 我想为linux的某个目录设置5个 ...

最新文章

  1. 在自己的网站添加关注新浪关注按钮
  2. 【深度学习】人脸识别和口罩检测的应用
  3. hibernate里的generator中class =value介绍
  4. 【JulyEdu-Python基础】第 8 课:Python第三方库
  5. iOS之如何实现isEqual的重写
  6. 前后端混合开发模式和前后端分离开发模式
  7. Bailian4099 队列和栈【堆栈+队列】
  8. J2ME游戏开发感想
  9. 允许更新此预编译站点的作用
  10. HTTP协议之Content-Encoding - 天下无贼 - 51CTO技术博客
  11. k8s拉取harbor镜像_Kubernetes-连接Harbor仓库拉取镜像
  12. 魔兽世界 助手 无法连接服务器,魔兽世界助手8.1无法登陆
  13. 进阶之路 | 奇妙的Activity之旅
  14. win10 输入法 删除
  15. 【H5】用易企秀做H5做完发现页面播放顺序乱套了???请不要单选自动播放
  16. 数学建模之稳定性模型详解
  17. PGSQL学习——触发器
  18. 30 岁的码农人生 ——人生至暗时,你依然能窥见光明
  19. 箱形图 python_Python-箱形图
  20. Photoshop各历史版本回顾以及系统要求

热门文章

  1. typora-数学符号
  2. 计算机的cup颗数、核数、线程数
  3. Notes 20180311 : String第三讲_深入了解String
  4. vue3关闭语法检测
  5. python中批量将矩形图片转化为正方形图片,并且缩放
  6. 蚂蚁区块链BaaS平台应用开发指南(一):前言
  7. 富文本数据存储及回显
  8. R语言案例分析:多元数据的基本统计分析
  9. cheng-06、初始化失败_Destroying singletons报错问题
  10. 用verilog 蜂鸣器的演奏乐曲