rh423 - Linux客户端利用winbind加入Windows 2008 Enterprise R1/SP1的AD

版本:
[root@station19 ~]# uname -a
Linux station19.example.com 2.6.18-308.el5xen #1 SMP Fri Jan 27 17:59:00 EST 2012 i686 i686 i386 GNU/Linux
[root@station19 ~]# lsb_release -a
LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID:    RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.8 (Tikanga)
Release:    5.8
Codename:    Tikanga
[root@station19 ~]#

ldap.conf配置(红色粗体表示ldap.conf原本没有需要特别注意的):
* Windows 2008上需要把Linux-NSS用户加到Administrators组,这样Linux-NSS才有加AD的权限。
[root@station19 ~]# egrep -v "^#|^$" /etc/ldap.conf
host w2k8.ad.example.com
base dc=ad,dc=example,dc=com
binddn cn=Linux-NSS,cn=Users,dc=ad,dc=example,dc=com
bindpw p3ngu!n
timelimit 120
bind_timelimit 120
idle_timelimit 3600
nss_initgroups_ignoreusers root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_objectclass posixGroup group
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute gecos cn
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad
nss_base_passwd    cn=Users,dc=ad,dc=example,dc=com
ssl no
[root@station19 ~]#


[root@station19 ~]# authconfig-tui
[/usr/bin/net join -w AD -S w2k8.ad.example.com -U Linux-NSS]
Linux-NSS's password:<...>
 
Using short domain name -- AD
DNS update failed!
Joined 'STATION19' to realm 'AD.EXAMPLE.COM'

Shutting down Winbind services:                            [  OK  ]
Starting Winbind services:                                 [  OK  ]
[root@station19 ~]# getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
avahi-autoipd:x:100:156:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
student:x:500:500::/home/student:/bin/bash
visitor:x:501:501::/home/visitor:/bin/bash
[root@station19 ~]# wbinfo -u
AD\administrator
AD\guest
AD\krbtgt
AD\linux-nss
AD\gates
AD\user2008
[root@station19 ~]# net ads testjoin
Join is OK
[root@station19 ~]# net ads info
LDAP server: 192.168.0.250
LDAP server name: w2k8.ad.example.com
Realm: AD.EXAMPLE.COM
Bind Path: dc=AD,dc=EXAMPLE,dc=COM
LDAP port: 389
Server time: Tue, 30 Jul 2013 00:08:49 CST
KDC server: 192.168.0.250
Server time offset: 0
[root@station19 ~]#

smb.conf配置(红色部分为authconfig-tui之后要修改或增加的内容):
* winbind use default domain = true 表示去掉windows AD里面的域名,即把AD\gates变成gates
* 只有加了   winbind enum users = yes   winbind enum groups = yes 之后,才能通过getent passwd列出windows AD中的用户

[root@station19 ~]# egrep -v "^#|^$|^;|[[:space:]]+#" /etc/samba/smb.conf
[global]
   workgroup = AD
   password server = w2k8.ad.example.com
   realm = AD.EXAMPLE.COM
   security = ads
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   template shell = /bin/bash
   winbind use default domain = true
   winbind enum users = yes
   winbind enum groups = yes

   winbind offline logon = false
    server string = Samba Server Version %v
    passdb backend = tdbsam
    load printers = yes
    cups options = raw
[homes]
    comment = Home Directories
    browseable = no
    writable = yes
[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = no
    writable = no
    printable = yes
[root@station19 ~]#

修改完smb.conf后重启winbind服务,getent passwd即可列出windows AD中的用户了
[root@station19 ~]# /etc/init.d/winbind restart

Shutting down Winbind services:                            [  OK  ]
Starting Winbind services:                                 [  OK  ]
[root@station19 ~]# wbinfo -u
administrator
guest
krbtgt
linux-nss
gates
user2008
[root@station19 ~]# getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
avahi-autoipd:x:100:156:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
student:x:500:500::/home/student:/bin/bash
visitor:x:501:501::/home/visitor:/bin/bash
administrator:*:16777217:16777216:Administrator:/home/AD/administrator:/bin/bash
guest:*:16777218:16777217:Guest:/home/AD/guest:/bin/bash
krbtgt:*:16777219:16777216:krbtgt:/home/AD/krbtgt:/bin/bash
linux-nss:*:16777220:16777216:Linux-NSS:/home/AD/linux-nss:/bin/bash
gates:*:16777216:16777216:Bill Gates:/home/AD/gates:/bin/bash
user2008:*:16777221:16777216:User2008:/home/AD/user2008:/bin/bash

[root@station19 ~]#


补充,上文中在加入AD域时碰到“DNS update failed!”的错误,这是因为默认Linux客户端没有和Windows AD服务器在同一个域里面。可通过在Linux客户端的/etc/hosts里面加条和Windows AD服务器在同一个域(ad.example.com)的主机名解决:
[root@station19 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
192.168.0.19    station19.ad.example.com    station19.example.com station19
[root@station19 ~]# authconfig-tui
[/usr/bin/net join -w AD -S w2k8.ad.example.com -U Linux-NSS]
Linux-NSS's password:<...>
 
Using short domain name -- AD
Joined 'STATION19' to realm 'AD.EXAMPLE.COM'

Shutting down Winbind services:                            [  OK  ]
Starting Winbind services:                                 [  OK  ]
[root@station19 ~]#



REF:
1. Windows AD和ldap结合出问题
http://phorum.study-area.org/index.php?topic=65043.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在cents8系统中加入AD域通过使用winbind服务来实现。Winbind是一种在Linux系统中与Windows Active Directory(AD)进行身份验证和授权进行整合的工具。下面是在cents8系统中加入AD域并配置winbind的步骤: 1. 安装必要软件:在cents8系统上安装winbind软件包以及相关支持库(如samba),以便使用winbind服务。 2. 配置smb.conf文件:打开samba配置文件(/etc/samba/smb.conf),将以下内容添加到文件末尾: ``` realm = YOUR_DOMAIN_REALM workgroup = YOUR_DOMAIN_WORKGROUP security = ads ``` 其中YOUR_DOMAIN_REALM是你的AD域的域名,YOUR_DOMAIN_WORKGROUP是你的AD域的工作组名称。 3. 配置krb5.conf文件:编辑Kerberos配置文件(/etc/krb5.conf),将以下内容添加到文件末尾: ``` [realms] YOUR_DOMAIN_REALM = { kdc = YOUR_DOMAIN_CONTROLLER admin_server = YOUR_DOMAIN_CONTROLLER } [domain_realm] .your_domain.com = YOUR_DOMAIN_REALM your_domain.com = YOUR_DOMAIN_REALM ``` 其中YOUR_DOMAIN_REALM是你的AD域的域名,YOUR_DOMAIN_CONTROLLER是你的AD域控制器的主机名或IP地址。 4. 启动winbind服务:使用以下命令启动winbind服务: ``` systemctl start winbind systemctl enable winbind ``` 这会启动winbind服务,并将其设置为系统启动时自动启动。 5. 加入AD域:使用以下命令将cents8系统加入AD域: ``` net ads join -U YOUR_DOMAIN_USERNAME ``` 其中YOUR_DOMAIN_USERNAME是有权将系统加入AD域的AD管理员用户名。 6. 重启服务:重启samba和winbind服务以应用配置更改: ``` systemctl restart smb systemctl restart winbind ``` 7. 验证加入AD域:使用以下命令验证系统是否成功加入AD域: ``` wbinfo -u ``` 如果成功返回一组用户列表,说明系统已成功加入AD域。 通过以上步骤,你可以在cents8系统中成功加入AD域并配置winbind服务,实现与Windows AD的整合认证和授权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值