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目录里面。