巧用winbind服务来使window200xPDC为你做认证 (原作者:eagerlinuxer )

秋雨随风5

秋雨随风5

2016-01-29 18:19

巧用winbind服务来使window200xPDC为你做认证 (原作者:eagerlinuxer ),巧用winbind服务来使window200xPDC为你做认证 (原作者:eagerlinuxer )
也许你公司的服务器大多是windows200x的,而且已经建了WIN200x的域来对公司的所有机器及用户做管理,而且这个域工作得很不错,所有用户的权限设置的也已经十分的合理。这时你想加一台linux或BSD的机器进去,来为公司的用户提供如ftp、samba等服务,因为在linux及BSD下的这些软件比在windows下的工作效率更高,更安全。你也许会碰到的一个问题是,在每台新架的linux及BSD服务器上都得重新加入很多用户,设置这些用户的权限、密码,如果你公司的员工很多的话,这个活还是很累人的。 但既然已经在域中有了所有用户的认证信息,为什么不好好的利用它呢:)。SAMBA3中的winbind服务就为我们提供了这样的一个途径。首先你把这linux台服务器加到win200x域中,成为域中的成员服务器,然后用winbind服务把认证信息发给PDC,由PDC来做用户的认证。只要适当的设置winbind服务、PAM,你就能通过PDC来为你linux或BSD服务器上的ftp、samba、ssh服务来做认证,是不是很不错呢? 下面是我在redhat7.3上用winbind+PAM实现对sshd、samba服务PDC认证的过程:
1、使用的相关软件: samba-3.0.7 pam-0.75-32 (这些软件的安装过程我就不讲了,参考CU上的相关文件吧:) 2、实现方法: 1) 在samba安装完成后,考贝libnss_winbind.so库到/lib目录下 cp ../samba/source/nsswitch/libnss_winbind.so /lib ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2 2) vi /etc/nsswitch.conf 做如下修改,使winbind成为passwd及group的认证信息源 passwd: files winbind shadow: files group: files winbind 3)用ldconfig命令来使winbind使用libnss_winbind.so库,这样就不用重启机器了,如果不行,就重启一下机器 。 /sbin/ldconfig -v | grep winbind 4)vi smb.conf ,在[global]设置中加入下面几行 # separate domain and username with '/', like DOMAIN+username winbind separator = / # use uids from 10000 to 20000 for domain users idmap uid = 10000-20000 # use gids from 10000 to 20000 for domain groups idmap gid = 10000-20000 # allow enumeration of winbind users and groups winbind enum users = yes winbind enum groups = yes # give winbind users a real shell (only needed if they have telnet access) template homedir = /home/%D/%U template shell = /bin/bash winbind separator是域名与用户名和组名之间的分隔符,我设成’/’, idmap uid 和 idmap gid是设置winbind把win200x域用户、组map成本地用户、组所使用的ID号范围,如果你的用户很多,可以加大这两个值之间的差。Template homedir是用户登录后的主目录,我设置成/home/域名/用户名。Template shell是用户登录后的shell,如果你想用PDC给你的sshd做认证,就可以加上这个,给用户一个shell,不错吧。 5)用samba3的net join命令把这台机器加入到windows200x域中 /usr/local/samba/bin/net rpc join -S PDC -U Administrator 然后输入域管理员密码,administrator是域管理员帐号。PDC是你的域名,可以用NETBIOS名。 6)启动winbindd服务 /usr/local/samba/sbin/winbindd 7)用wbinfo 命令查看你用winbindd服务连接PDC抓到的域内的用户和组的信息。 引用:[root@LogBack wy]# wbinfo -u WY/Administrator WY/Guest WY/krbtgt WY/wuying WY/wy 其中’/’前的是域名,我这是WY,’/’后的是域用户名。 引用:[root@LogBack wy]# wbinfo -g BUILTIN/System Operators BUILTIN/Replicators BUILTIN/Guests BUILTIN/Power Users BUILTIN/Print Operators BUILTIN/Administrators BUILTIN/Account Operators BUILTIN/Backup Operators BUILTIN/Users WY/Domain Admins WY/Domain Users WY/Domain Guests WY/Domain Computers WY/Domain Controllers WY/Cert Publishers WY/Schema Admins WY/Enterprise Admins WY/Group Policy Creator Owners WY/DnsUpdateProxy 其中’/’前的是域名,我这是WY,’/’后的是域组名。 用getnet passwd 和getnet group你可以看到本地服务器及域服务器上所有的用户及组的信息。 到这儿,我们的工作已经完成一大半了。Winbindd服务已经可以正常工作了:) 8)到samba-3.0.7的源码目录source下,编译pam_winbind.so认证模块,CP到/lib/security下: make nsswitch/pam_winbind.so cp ../samba/source/nsswitch/pam_winbind.so /lib/security 9)下面是设置PAM了,在设置前请先备份你的/etc/pam.d目录。如果是设sshd等关建登入服务的PAM,改错了,可能ssh就登不进去,所以要小心操作。 下面是我改过的/etc/pam.d/sshd的配置文件: 引用:[root@LogBack wy]# cat /etc/pam.d/sshd #%PAM-1.0 auth sufficient /lib/security/pam_winbind.so auth required /lib/security/pam_stack.so service=system-auth auth required /lib/security/pam_nologin.so account sufficient /lib/security/pam_winbind.so account required /lib/security/pam_stack.so service=system-auth password required /lib/security/pam_stack.
展开更多 50%)
分享

猜你喜欢

巧用winbind服务来使window200xPDC为你做认证 (原作者:eagerlinuxer )

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
巧用winbind服务来使window200xPDC为你做认证 (原作者:eagerlinuxer )

ofo如何认证为学生 ofo的学生认证方法

共享单车 软件教程
ofo如何认证为学生 ofo的学生认证方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

巧用图层样式作者可爱的粉色水晶字

PS效果 PS PS基础
巧用图层样式作者可爱的粉色水晶字

Oracle的Window服务启动时并不启动实例

编程语言 网络编程
Oracle的Window服务启动时并不启动实例

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用VB设计有安全认证服务的Email

vb
用VB设计有安全认证服务的Email

用户认证功能的SQUID代理服务器

编程语言 网络编程
用户认证功能的SQUID代理服务器

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Linux之邮件服务器配置指南

Linux之邮件服务器配置指南

在Word中插入条形码又一法

在Word中插入条形码又一法
下拉加载更多内容 ↓