当前位置:首页 >> 服务器

Linux加入windows ad域步骤详解(winbindsamba方案)

linux加入域中,一般都会想到加入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 install samba-winbind samba samba-common samba-client samba-winbind-clients

安装完相关软件后,可以使用authconfig-tui命令进行图像化配置,其实图像化配置也就是修改几个文件而已:
复制代码 代码如下:
nsswitch.conf
#/etc/nsswitch.conf
passwd:     files winbind
shadow:     files winbind
group:        files winbind

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

2 smb.conf

复制代码 代码如下:
#/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

复制代码 代码如下:
#/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命令进行验证。

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

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

复制代码 代码如下:
/etc/pam.d/system-auth/etc/pam.d/sshd

这样在通过ssh登陆时,系统会自动创建域账号的家目录。
pam模块在/lib64/security目录里面。