为什么说要linux加域呢!    因为之前在公司是做vmware的,然后呢vmware的horizon桌面云虚拟化都是通过域来管理的,开始使用的都是Windows桌面,后来开发的人员说要使用linux工作,然后linux呢又需要加入域进行管理,所以我就琢磨了几天,百度啊,看别人的博客啊都没有什么很好的解决方案,我就通过结合他们的文章自己整了个完整的加域过程,如下:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

这里域为:vsphere.com
IP为:172.16.124.240
我这里linux版本为6.7

1.linux做如下配置。。
a.修改计算机名:
vim /etc/sysconfig/network
##主机名后缀为vsphere.com(我这里是linux.vsphere.com),且主机名不能重复

b.修改DNS:
vim /etc/resolv.conf
##修改为如下内容
search vsphere.com
nameserver 172.16.124.240

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 ACCEPT

重启服务生效(服务很多 我直接重启电脑,重启命令reboot或者init 6)

2.时间同步
a.编辑计划任务,加入时间同步
vim /etc/crontab
##加入如下时间同步内容,实现每小时与服务器同步一次时间
00 * * * * root /usr/sbin/ntpdate
vsphere.com;/usr/sbin/hwclock -w

b.将crond服务加入到开机启动,并立即重启crond服务
#chkconfig crond on
#service crond restart

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命令的用户

linux加入Windows域-------本人生产环境上线所用的更多相关文章

  1. linux加入windows域之完美方案(转载)

    概念理解:1.kdc:可信任的密钥分发中心(KDC, Key Distribution Center).2.Winbind是Samba套件的功能之一.它允许Unix系统利用Windows NT的用户帐 ...

  2. Linux运维一:生产环境CentOS6.6系统的安装

    CentOS 6.6 x86_64官方正式版系统(64位)下载地址 系统之家:http://www.xitongzhijia.net/linux/201412/33603.html 百度网盘:http ...

  3. linux加入windows域之完美方案

    运行setup工具 认证配置 选择: “use winbind” “use kerberos” “use winbind authertication” 改为: 删除admin server 其余的改 ...

  4. linux加入windows域

    http://www.redhat.com/rhecm/rest-rhecm/jcr/repository/collaboration/jcr:system/jcr:versionStorage/36 ...

  5. wkhtmltopdf+itext实现html生成pdf文件的打印下载(适用于linux及windows)

    目中遇到个根据html转Java的功能,在java中我们itext可以快速的实现pdf打印下载的功能,在itext中我们一般有以下三中方式实现 配置pdf模板,通过Adobe Acrobat 来设置域 ...

  6. Dubbo Mesh 在闲鱼生产环境中的落地实践

    本文作者至简曾在 2018 QCon 上海站以<Service Mesh 的本质.价值和应用探索>为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是“借力开源.反哺开源” ...

  7. .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点

    2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...

  8. Jenkins实现生产环境部署文件的回滚操作(Windows)

    由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一 ...

  9. CentOS(5.8/6.7)linux生产环境若干优化实战

    CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作.注意:本次优化都是基于CentOS(5.8/6.7). 下 ...

随机推荐

  1. ELK学习总结(2-3)Mget获取多个文档

     mget 获取多个文档 1.curl 命令格式:mget获取多个文档: curl  'localhost:9200/_mget'  -d  '{ "docs":[ { " ...

  2. SpringBoot(七):集成DataSource 与 Druid监控配置

    绑定DataSource:Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource,Druid是Java语言中最好的数据库连接池,并且能够提供 ...

  3. Spark:spark df插入hive表后小文件数量多,如何合并?

    在做spark开发过程中,时不时的就有可能遇到租户的hive库目录下的文件个数超出了最大限制问题. 一般情况下通过hive的参数设置: val conf = new SparkConf().setAp ...

  4. hdu-2141 Can you find it?---暴力+二分

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2141 题目大意: 给ABC三个数组,给一个X,求是否存在Ai+Bj+Ck = X 思路: 等式转化成 ...

  5. AOV网络和Kahn算法拓扑排序

    1.AOV与DAG 活动网络可以用来描述生产计划.施工过程.生产流程.程序流程等工程中各子工程的安排问题.   一般一个工程可以分成若干个子工程,这些子工程称为活动(Activity).完成了这些活动 ...

  6. [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)

    论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...

  7. PHP 7.2 新功能介绍

    PHP 7.2 已經在 2017 年 11 月 30 日 正式發布 .這次發布包含新特性.功能,及優化,以讓我們寫出更好的代碼.在這篇文章裡,我將會介紹一些 PHP 7.2 最有趣的語言特性. 你可以 ...

  8. filter过滤器与map映射

    filter过滤器 >>> list(filter(None,[0,1,2,True,False])) [1, 2, True] filter的作用就是后面的数据按照前面的表达式运算 ...

  9. python中的多线程

    一个程序可以理解为一个进程,这个进程有其代号,可以依据这个代号将其杀死. 一个进程肯定有且只有一个主线程,他可以有很多子线程. 运行一个任务如果可以有许多子线程同时去做,当然会提高效率. 但是,在py ...

  10. 简述ConCurrentHashMap

    HashMap: 从JDK1.2起,就有了HashMap,HashMap不是线程安全的,多线程操作时需要注意. CurrentHashMap: 在JDK1.5中,引入concurrent包,从此Map ...