为何说要linux加域呢! 由于以前公司是作vmware的,而后呢,vmware的horizon桌面云虚拟化都是经过域来管理的,开始使用的都是Windows桌面,后来开发的人员说要使用linux工做,而后linux呢又须要加入域进行管理,因此我就琢磨了几天,百度啊,看别人的博客啊都没有什么很好的解决方案,我就经过结合他们的文章本身整了个完整的加域过程,以下:linux
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------shell
这里域为:vsphere.com
IP为:172.16.124.240
我这里linux版本为6.7数据库
1.linux作以下配置。。
a.修改计算机名:
vim /etc/sysconfig/network
##主机名后缀为vsphere.com(我这里是linux.vsphere.com),且主机名不能重复vim
b.修改DNS:
vim /etc/resolv.conf
##修改成以下内容
search vsphere.com
nameserver 172.16.124.240centos
c.删除本机计算机解析
vim /etc/hosts(删除里面的全部东西,有几行就输入几dd,好比有3行,3dd)安全
d. 不关闭防火墙(我这里是iptables,7.0以前没有firewall)作防火墙策略, 添加两条策略,容许本机与DC之间的所有通信:
vim /etc/sysconfig/iptables
-A OUTPUT -m state --state NEW -m tcp -p tcp -d 172.16.124.240 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 172.16.124.240 -j ACCEPTbash
重启服务生效(服务不少 我直接重启电脑,重启命令reboot或者init 6)服务器
2.时间同步
a.编辑计划任务,加入时间同步
vim /etc/crontab
##加入以下时间同步内容,实现每小时与服务器同步一次时间
00 * * * * root /usr/sbin/ntpdate
vsphere.com;/usr/sbin/hwclock -wsession
b.将crond服务加入到开机启动,并当即重启crond服务
#chkconfig crond on
#service crond restartdom
3.安装samba和krb5:
a.安装支持软件(须要先配置yum源):
yum -y install pam_krb5* krb5-libs* krb5-workstation* krb5-devel* krb5-auth samba samba-winbind* samba-client* samba-swat*
##(安装以前用rpm -qa|grep 查看是否已安装)
b.检查krb5相关组件是否所有安装
#rpm -qa|grep krb
(会有5项相关内容,若是没有直接用yum -y install krb5*把带krb5的全部 软件包所有安装)
c.检查samba组件是否所有安装:
#rpm -qa|grep samba
(会有6项才算所有安装,默认Samba和samba-swat是没安装的,须要先安装samba才能安装samba-swat)
d.验证samba基础库支持:(没安装Samba是显示不出基础库的)
#smbd -b|grep LDAP
#smbd -b|grep KRB
#smbd -b|grep ADS
#smbd -b|grep WINBIND
至此,samba和krb5的基本已经安装完成
加域:
a.启动相关服务并设置开机启动:
#service winbind start
#chkconfig winbind on
b.使用setup配置工具,并选择“验证配置”,选择下面三项:
“use winbind” ##对应的中文意思
“use kerberos”##对应中文“使用kerberos”
“use winbind authertication” ##对应中文“使用winbind验证”
------------------而后点击“下一步”-----------------
域:vsphere.com
KDC:WIN-GKNVD58B4QL.vsphere.com
管理服务器:WIN-GKNVD58B4QL.vsphere.com
##并勾选下面两个选项
(之因此以前一直加域不成功,是由于这里的KDC须要填域控制器的名称,这里的域控制器是AD域的计算机名能够到AD域里面Domain Controllers里面的计算机名加域名)
------------------而后点击“下一步”-----------------
安全模型:ADS
域:VSPHERE
域控制器:WIN-GKNVD58B4QL.vsphere.com
ADS域:vsphere.com
模板shell:/bin/bash
----------------------点击加入域---------------------
回弹出个报错信息,这时不用理会,
而后输入:authconfig-gtk(linux版本7.0以前才有这个命令,7.0之后的版本这个命令被取消)
用户帐户数据库:winbind
winbind域:VSPHERE(注意大小写)
安全模型:ads
winbind ADS域:VSPHERE.COM(注意大小写)
winbind域控制器:WIN-GKNVD58B4QL.vsphere.com
模板shell:/bin/bash
---------------------点击加入域--------------------
这是输入域管理员administrator和对应密码,输入完成后会返回验证配置界面
而后输入:net ads join -U administrator@vsphere.com(这里的administrator能够换成是域上面的任意成员)
而后会返回一个错误信息:大体的意思是DNS没法自动建立更新
这时咱们就要去DNS上面手动添加一条DNS更新策略
在DNS———点击vsphere.com———右边会显示不少更新条目———鼠标右键———新建主机———名称:centos(个人linux主机名是centos,填对应的Linux主机名)———IP地址:172.16.124.103(对应的LinuxIP地址)———勾选容许全部通过身份验证
回到Linux:
a.测试是否加域成功:
#wbinfo -t ##测试RPC通信,提示succeeded表示成功
checking the trust secret for domain VSPHERE via RPC calls succeeded
#wbinfo -u ##查看域用户
(会有不少域成员)
若是有表示读取正常
#wbinfo -g ##查看域组
(同样会有不少域组)
若是有表示读取正常
上诉两个命令执行后若是能够看到域中的用户和组则正常。若是提示以下,则表示与域控制器同步还未完成
测试ntlm组件
ntlm_auth --username=administrator
password:##输入密码
验证代域:
#net ads testjoin
Join is OK
b.使用域帐户登陆
此时就可使用su - ***@vsphere.com这样的域用户登陆Linux服务器了,若是登陆后显示以下:
Could not chdir to home directory /home/VSPHERE/barlowliu:No such file or directory
-bash-4.1$
##这表示没有自动建立用户的家目录,下面就来解决这个问题
c.解决域用户登陆后没有加目录的问题:
1.创建域用户家目录:
#mkdir /home/VSPHERE
#chmod 1777 /home/VSPHERE
2.编辑/etc/samba/smb.conf配置文件,添加以下一行:
(在最下面添加)
template homedir = /home/%D/%U
##修改以下一行就能够实如今登陆时不须要输入域名
winbind use default domain = true
3.编辑/etc/pam.d/system-auth,增长以下一行:
session required pam_mkhomedir.so skel=/etc/skel umask=0077
4.vim /etc/pam.d/sshd 统一增长上面一行:
session required pam_mkhomedir.so skel=/etc/skel umask=0077
完成后就可使用域帐号正常登陆了,可是还须要配合安全要求,设置每台容许SSH登陆和容许运行su和sudo命令的用户