为什么说要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. 批量检测GoAhead系列服务器中Digest认证方式的服务器弱口令

    最近在学习用python写爬虫工具,某天偶然发现GoAhead系列服务器的登录方式跟大多数网站不一样,不是采用POST等方法,通过查找资料发现GoAhead是一个开源(商业许可).简单.轻巧.功能强大 ...

  2. Swagger: 一个restful接口文档在线生成+功能测试软件

    一.什么是 Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 ...

  3. 新概念英语(1-7)Are you a teacher?

    What is Robert's job? A:I am a new student. My name is Robert. B:Nice to meet you. My name's Sophie. ...

  4. GIT入门笔记(20)- git 开发提交代码过程梳理

    git开发提交流程新项目开发,可以直接往master上提交老项目维护,可以在分支上修改提交,多次add和commit之后,也可以用pull合并主干和本地master,解决冲突后再push 1.检出代码 ...

  5. Python之日志 logging模块

    关于logging模块的日志功能 典型的日志记录的步骤是这样的: 创建logger 创建handler 定义formatter 给handler添加formatter 给logger添加handler ...

  6. 阿里云下Linux服务器安装Mysql、mongodb

    阿里云下Linux服务器安装Mysql.mongodb 一.MySQL的安装和配置 1.安装rpm包 rpm -Uvh http://dev.mysql.com/get/mysql-community ...

  7. python基础-循环

    循环 循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直 ...

  8. jacascript 事件流

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 事件流 当浏览器发展到第四代时(IE4及Netscape4),浏览器开发团队遇到了一个很有意思的问题:页面 ...

  9. EF CodeFirst方式 Fluent Api配置

    一.One-to-One Relationship[一对一关系] 两个表之间,只能由一个记录在另外一个表中.每一个主键的值,只能关联到另外一张表的一条或者零条记录.请记住,这个一对一的关系不是非常的普 ...

  10. C/C++下调用matlab函数操作说明

    1.matlab的安装 连接:http://pan.baidu.com/s/1qXuF7aO 安装32位版本的matlab(在目录下bin文件夹中有两个文件夹,选择win32文件夹下的setup进行安 ...