inux 加入域中,一般都会想到加入LDAP中,这样管理起来方便,不过在linux下LDAP配置起来可不是很容易的,在企业办公环境中一般windows AD域占据霸主地位,配置方便嘛,针对生产环境的linux集群机器才会选择LDAP,不过有时候在办公环境中也混杂了linux机器,为了规范管理,也 是需要把linux机器加入window是 AD中的。
 

     linux加入windows AD中方便操作的有两种方案(分为centos/ubuntu两种情况)。都说了是方便操作,那必然是懒人的首选方法了。

1 likewise-open 

     在debian/ubuntu中使用,可以使用apt安装,配置方便,但是由于likewise的公司被收购,likewise的相关产品不再是开源产品,更杯具的是网上连以前的源码包都找不到,还好ubuntu中目前还是可以通过apt安装的。

2 winbind+samba

     在centos上使用,之前下载了一份ubuntu上的likewise的源码在centos上编译发现相关底层库有些小问题,顾在centos上采用winbind+samba方案。


在ubuntu下使用likewise真是十分方便,apt安装完后,两条命令就可以把机器加入windows AD中,如下:

#domainjoin-cli join your-domain-name Administrator
#lwconfig AssumeDefaultDomain True



所以,本文主要实验centos加入windows AD的情况

实验环境

     centos6.4

安装相关依赖包

#yum install krb5-libs krb5-devel pam_krb5 krb5-workstation krb5-auth-dialogyum samba-winbind samba samba-common samba-client samba-winbind-clients

安装完相关软件后,可以使用authconfig-tui命令进行图像化配置,其实图像化配置也就是修改几个文件而已:

 1 nsswitch.conf

#vi /etc/nsswitch.conf     
passwd:     files winbind    
shadow:     files winbind    
group:        files winbind

  以上配置的意思是先通过文件配置验证,然后再进行winbind验证

  2 smb.conf

#vi /etc/samba/smb.conf  域名一定得大写  
[global]   
    workgroup = YOUR-DOMIAN   
    password server = 172.16.14.20   
    realm = YOUR-DOMIAN   
    security = ads   
    idmap config * : range = 16777216-33554431   
    template shell = /bin/bash   
    winbind use default domain = true   
    winbind offline logon = true   
    template homedir = /home/%U   
    winbind separator = /   
    winbind enum users = Yes   
    winbind enum groups = Yes

 切记你的域名一定得大写 

 3 krb5.conf

#vi /etc/krb5.conf  域名必须得大写   
[logging]       
    default = FILE:/var/log/krb5libs.log       
    kdc = FILE:/var/log/krb5kdc.log       
    admin_server = FILE:/var/log/kadmind.log   
[libdefaults]       
    default_realm = YOUR-DOMIAN       
    dns_lookup_realm = false       
    dns_lookup_kdc = false       
    ticket_lifetime = 24h       
    renew_lifetime = 7d       
    forwardable = true  
[realms]      
    YOUR-DOMIAN = {          
        kdc = 172.16.14.20    #AD域服务器地址     
    }  
[domain_realm]      
    your-domian = YOUR-DOMIAN      
    .your-domian = YOUR-DOMIAN

重启相关服务

/etc/init.d/smb    restart
/etc/init.d/winbind    restart

现在把机器加入AD域中:

#net ads join -U Administrator

  回车后需要输入AD域的管理员密码,加入域之后可以通过wbinfo命令进行验证。

#wbinfo -u #查看域账号没有同步过来。
#wbinfo -g  #查看域里的OU有没有 同步


在用域账号登陆时,在目的机器上因为没有相关账号,所以域账号是没有家目录的,需要在域账号登陆时自动建立相关家目录

在以下两个文件中加入如下内容:session     required      pam_mkhomedir.so umask=0022 skel=/etc/skel/ silent

#vi /etc/pam.d/system-auth
#vi /etc/pam.d/sshd


  这样在通过ssh登陆时,系统会自动创建域账号的家目录。


pam模块在/lib64/security目录里面。