将Samba与CentOS上的Active Directory集成

时间:2020-03-05 15:29:22  来源:igfitidea点击:

Samba是一个免费的软件重新实现SMB/CIFS网络协议,为各种Microsoft Windows客户端提供文件和打印服务,可以与Windows Server域集成。

在本教程结束时,我们将能够将Samba与CentOS和RedHat上的Microsoft Active Directory集成。

我们还涵盖了如何设置Linux域控制器以及如何在Ubuntu上加入域控制器。

要求

安装了CentOS的计算机。
互联网连接。
使用Active Directory服务的Microsoft Windows Server安装和配置。

安装必要的软件包

使用YUM命令安装Samba客户端工具如下:

$sudo yum install authconfig samba-winbind samba-client samba-winbind-clients oddjob-mkhomedir

加入Active Directory域

运行sudo authconfig-tui,然后选择相同的选项,然后按下如下图所示。

现在,编写域,域控制器和AD领域(建议写所有大写字母)并选择安全模型AD和模板shell /BIN/BASH,如下所示

按加入域,系统会提示我们保存配置并编写域管理员密码,如下所示。

现在检查Active Directory用户和计算机,我们应该找到新的加入机器。

设置用户主目录

我们可以为Active Directory用户创建本地主目录,如下所示

$sudo mkdir /home/YOURDOMAIN //Your domain must be in capital letters

运行authconfig命令并启用主目录。
在命令行中使用--enablemkhomedir选项。

$sudo authconfig --enablemkhomedir --update

配置smb.conf.

使用任何文本编辑器打开smb.conf(/etc/samba/smb.conf)。

在全局设置下配置如下:

[global]
workgroup = YOURDOMAIN
password server = DC.YOURtheitroad.com
realm = YOURtheitroad.com
security = ads
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template homedir = /home/YOURDOMAIN
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
idmap backend = idmap_rid:yourdomain=16777216-33554431
obey pam restrictions = yes

配置System-auth

使用任何文本编辑器打开system-auth文件(/etc/pam.d/system-auth)。

在文件末尾添加以下行

session required pam_oddjob_mkhomedir.so skel=/etc/skel/umask=0022

现在重新启动Samba,Winbind和Oddjob服务

$sudo service smb restart
$sudo service winbind restart
$sudo service oddjobd restart

在CentOS 7及以上运行以下命令:

$sudo systemctl start winbind.service
$sudo systemctl start oddjob

登录Active Directory

打开运行任何加入域的计算机,并运行以下命令中的任何一个命令

$su - ‘domain\domain_user’
$su - domain\domain_user

如果Winbind使用Default Domain = True参数在Samba配置文件中设置,则可以使用以下语法。

$su - domain_user
$su - [email protected]

列出域用户和域信息

我们可以使用wbinfo命令获取域用户和组信息。
此外,我们可以使用net命令来获取域详细信息。

检查以下命令:

$sudo wbinfo -u
$sudo wbinfo -g
$sudo wbinfo -i domain_user
$sudo net ads info

Unjoin(假)Active Directory

使用net命令从Active Directory解除计算机。
使用以下命令,需要重新启动以更改实现效果。

$sudo net ads leave -w domain-name -U domain-administrator

或者

$sudo net ads leave -S  -U user%password

或者

$sudo realm leave ad.example.com
$sudo reboot