作者:独笔孤行

官网:​​ ​http://anyamaze.com​​

公众号:云实战

前言

AD域(Active Directory)是Windows服务器的活动目录,在目录中可以收录公司的电脑账号,用户账号,组等信息,以提供更好的安全性和更便捷的管理能力。域的最大好处之一就是其安全性 – 所有账号不会在本地计算机认证,而是连接到域控制器寻求认证。

CentOS7加入AD域的方法很多,常用的有winbind和realm两种。winbind是一种成熟的方案,兼容多种操作系统版本,但配置步骤繁琐复杂,且易出错。realm是一种非常简便的配置方案,在新版本系统中使用较多,在centos6和更低版本系统使用较少。

一、环境信息

AD域信息

域名:anyamaze.com

主机名:myad

IP : 192.168.111.137

系统版本:windows server 2016

linux客户端信息

主机名:mynode1.anyamaze.com

IP: 192.168.111.141

二、安装过程

(一)AD域服务器部署

1.部署windows Server2016操作系统

2.选择“服务器管理器—管理—添加角色和功能—基于角色或基于功能的安装—Active Directory域服务”根据提示依次安装

3.修改主机名,将服务器提示为域控服务器

(二)CentOS7加入域配置

1.安装相关包

yum install -y samba samba-common samba-client samba-winbind* krb5-workstation ntp bind-utils

2.设置服务开机自启动

systemctl enable smb
systemctl enable winbind

3.设置主机名

hostnamectl set-hostname mynode1.anyamaze.com

4.配置域名解析

192.168.111.137 myad myad.anyamaze.com
192.168.111.141 mynode1 mynode1.anyamaze.com

5.配置DNS解析

配置网卡DNS解析,解析地址为AD域服务器IP,如需其它DNS,可放在AD域服务器IP之后

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
...
DNS1=192.168.111.137 #重启网卡,使配置生效
systemctl restart network

检查/etc/resolv.conf文件内容

vim /etc/resolv.conf
search anyamaze.com
nameserver 192.168.111.137

需确保resolve.conf文件DNS解析内容为AD域服务器,如果需要其它DNS,可向后追加。

检测解析是否生效

ping anyamaze.com
nslookup anyamaze.com

注意:确保ping的返回ip为AD域服务器ip,确保nslookup解析域名的服务器IP是AD域服务器IP。如果ping不通域名或解析的地址不是AD域服务器IP,需要检查DNS是否正确,检查AD域服务器防火墙是否关闭。

6.修改配置文件

vi /etc/nsswitch.conf
...
passwd: files winbind sss
shadow: files winbind sss
group: files winbind sss

配置内容加入winbind,且winbind在sss之前

7.修改/etc/krb5.conf

[libdefaults]
......
default_realm = ANYAMAZE.COM
......
[realms]
ANYAMAZE.COM = {
kdc = 192.168.111.137
}
[domain_realm]
anyamaze.com = ANYAMAZE.COM
.anyamaze.com = ANYAMAZE.COM

8.修改/etc/samba/smb.conf

[global]
workgroup = ANYAMAZE
password server = myad.anyamaze.com
realm = ANYAMAZE.COM
security = ads
idmap config * : range = 16777216-33554431
template shell = /bin/bash
kerberos method = secrets only
winbind use default domain = false
winbind offline logon = false
encrypt passwords = yes
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%U

global中必须保证以上参数内容配置正确,其它参数可保持默认配置。如果linux系统有图形化界面,也可通过setup命令,完成步骤7和步骤8的配置内容,效果一样。

检查配置是否正确

testparm /etc/samba/smb.conf

9.编辑文件/etc/pam.d/system-auth和/etc/pam.d/password-auth,尾部追加session required pam_mkhomedir.so 内容

vi /etc/pam.d/system-auth
......
session required pam_mkhomedir.so vi /etc/pam.d/password-auth
......
session required pam_mkhomedir.so

10.加入AD域

net ads join -U administrator

输入正确的administrator用户密码

11.重启服务

systemctl restart smb
systemctl restart winbind

12.查看是否加入域成功

wbinfo -t

返回结果为checking the trust secret for domain ANYAMAZE via RPC calls succeeded说明加入域成功

加入成功后,去AD域服务器可查到到刚刚加入域的机器

13.常规域指令

# 查看域信息
net ads info
# 查看域连接状态
wbinfo -t
# 查看域组
wbinfo -g
# 查看域用户
wbinfo -u
#查看域用户属性id
id user1@anyamaze.com

(三)常见报错:

报错内容1:

[root@mynode1 ~]# id user1
id: user1: no such user
[root@mynode1 ~]# id user1@anyamaze.com
id: user1@anyamaze.com: no such user

原因:1.通过wbinfo -t检查是否加入域成功;2.AD域用户没有配置uid和gid,主组没有配置gid,需要去AD域上进行配置

报错内容2:

[root@mynode1 ~]# net ads join -U administrator
Enter administrator's password:
Using short domain name -- ANYAMAZE
Joined 'MYNODE1' to dns domain 'anyamaze.com'
No DNS domain configured for mynode1. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

原因:DNS更新失败,但不影响使用,可以加--no-dns-updates屏蔽,如:net ads join -U administrator --no-dns-updates。

关于原因官网 https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member 有详细解释,但是按照官网的信息调整hosts后,依然没有达到效果。

报错内容3:

[root@mynode1 ~]# wbinfo -t
could not obtain winbind interface details: WBC_ERR_WINBIND_NOT_AVAILABLE
could not obtain winbind domain name!
checking the trust secret for domain (null) via RPC calls failed
failed to call wbcCheckTrustCredentials: WBC_ERR_WINBIND_NOT_AVAILABLE
Could not check secret

原因:加入域失败,按照操作步骤检查dns解析以及相关配置过程

报错内容4:

[root@mynode1 ~]# net ads leave -U administrator
Enter administrator's password:
kinit succeeded but ads_sasl_spnego_gensec_bind(KRB5) failed for ldap/myad.anyamaze.com with user[administrator] realm[ANYAMAZE.COM]: An invalid parameter was passed to a service or function.
Deleted account for 'MYNODE1' in realm 'ANYAMAZE.COM'

原因:linux和AD域服务器时间相差较大,必须保证linux客户端和AD域时间一致

参考连接:

https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member

https://www.freesion.com/article/44621398696/

https://www.server-world.info/en/

更多咨询,关注我们

CentOS7加入AD域(winbind)的更多相关文章

  1. CentOS7添加入windows2008的AD域

    采用域控对用户权限进行限制的时候,经常会出现需要将linux加入windows域,毕竟windows的AD域超级强大.用户名可以由windows进行统一管理,方便办公使用.下面简单介绍如何进行配置. ...

  2. freeradius整合AD域作anyconncet认证服务器

    一.服务器要求 Radius服务器:centos6.6.hostname.selinux  disabled.stop iptables AD域服务器:Windows Server 2008 R2 E ...

  3. Windows 的 AD 域寄生于 Linux 机器

    导读 对于帐户统一管理系统或软件来说,在 Linux 下你可能知道 NIS.OpenLDAP.samba 或者是 RedHat.IBM 的产品,在 Windows 下当然就是最出名的活动目录 (AD) ...

  4. Samba通过ad域进行认证并限制空间大小《转载》

    本文实现了samba服务被访问的时候通过windows域服务器进行用户名和密码验证;认证通过的用户可以自动分配500M的共享空间;在用户通过windows域登陆系统的时候可以自动把这块空间映射成一块硬 ...

  5. windows AD域安装及必要设置

    一.安装AD域 运行dcpromo命令,安装AD域. 步骤: 1.win+R 2.dcpromo 图例: 百度百科关于“dcpromo”解释: dcpromo命令是一个“开关”命令.如果Windows ...

  6. Samba通过ad域进行认证并限制空间大小

    最近正在做单位电脑的AD域管理. 为漫游用户文件,研究配置Samba通过ad域进行认证并限制空间大小. 参考了很多资料,现总结如下: DC:windows server 2016(配置安装域控制器)略 ...

  7. 如何查看/统计当前AD域控制器的活动用户?

    最近公司想知道某台AD域控制器上当前连接了多少活动用户? 此前个人只知道以下不是非常完善且统计起来比较麻烦的方法: 方法1:查看共享会话数.(不完全准确) 方法2:查看当前的DNS记录.(这种方法统计 ...

  8. AD域-让共享目录只显示用户有权限访问的文件夹

    问题: 在AD域中,我们一般都会用到共享,如果有很多部门,我们可能还会按部门.职位配置权限.比如CSD,IT,PA等,但文件夹一多,用户看着就头大,而且用户没权限访问的文件夹误点击进去还会提示无权限访 ...

  9. AD域的安装(在Windows Server 2003中安装Active Directory)

    在Active Directory中提供了一组服务器作为身份验证服务器或登录服务器,这类服务器被称作域控制器(Domain Controller,简称DC).建立一个AD域的过程实际就是在一台运行Wi ...

  10. AD域内DNS服务器如何解析公网域名

    原创地址:http://www.cnblogs.com/jfzhu/p/4022999.html 转载请注明出处 AD域内需要有DNS服务器,用于解析域内的计算机名,但是域内的计算如何解析公网的域名呢 ...

随机推荐

  1. k8s驱逐篇(5)-kube-controller-manager驱逐

    kube-controller-manager驱逐 概述 kube-controller-manager驱逐主要依靠NodeLifecycleController以及其中的TaintManager: ...

  2. 使用Google OR-Tools分析过去20年中国金融资产最佳配置组合

    前两天,在朋友圈里看到一张截至2022年Q2的金融资产历年收益图如下,图中列举了国内从2005年到2022年近20年主要的金融资产历年收益率,随产生想法分析和验证下面几个问题: 过去20年,基于怎样的 ...

  3. vue后退页面刷新数据和缓存数据

    我们在项目中经常使用this.$router.go(-1)  但是,有时我们需要把前一个页面的数据进行缓存,有时需要刷新数据,下面来记录一下怎么操作吧 首先:在vue项目中缓存页面我们能想到 keep ...

  4. JavaScript:如何知道一个变量的数据类型?:typeof

    使用typeof去查看一个变量的数据类型,如下图所示,展示了JS的七大基础数据类型和对象: 这里有必要提一下: 函数也是一个对象,但是函数的特殊性,使得在使用typeof去判断其类型的时候,会输出fu ...

  5. C语言 根据掩码计算网段的起止ip

    原文地址:https://www.yuque.com/docs/share/85a26263-484a-42f6-880b-2b511ae1bd20?# 根据ipv4掩码计算 #include < ...

  6. netcore下死RabbitMQ队列、死信队列、延时队列及小应用

    关于安装rabbitmq这里一笔掠过了. 下面进入正题: 1.新建aspnetcorewebapi空项目,NormalQueue,删除controllers文件夹已经无关的文件,这里为了偷懒不用con ...

  7. [深度学习] ncnn编译使用

    文章目录 工程 ncnn工程编译使用(cpu) ncnn工程编译使用(vulkan) 参考 工程 ncnn工程编译使用(cpu) 在linux下建立如CMakeLists文件即可编译生成ncnn工程 ...

  8. (3)go-micro微服务项目搭建

    目录 一 微服务项目介绍 二 go-micro安装 1.拉取micro镜像 2.生成项目目录 三 项目搭建 使用DDD模式开发项目: 四 最后 一 微服务项目介绍 账户功能是每一个系统都绕不开的一部分 ...

  9. [深度学习]Keras利用VGG进行迁移学习模板

    # -*- coding: UTF-8 -*- import keras from keras import Model from keras.applications import VGG16 fr ...

  10. 抽奖动画 - 播放svga动画

    svga动画 本文介绍的动画不是css,js动画,是使用插件播放svga文件. 1.需求 UI同学在做一个春节活动,活动中需要有个开场动画,原本想的简单,不涉及接口调用逻辑,就直接用做一个gif图片由 ...