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命令进行图像化配置,其实图像化配置也就是修改几个文件而已:
1 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目录里面。
kerberos5 相关信息:http://www.ibm.com/developerworks/cn/opensource/os-openafs-kerberos5/index.html