使用Samba和Winbind将Ubuntu 16.04集成到AD作为域成员 - 第8部分

本教程介绍如何将Ubuntu计算机加入 Samba4 Active Directory域,以使用本地 ACL对文件和目录进行身份验证 AD帐户,或者为域控制器用户(作为文件服务器)创建和映射卷共享。

要求:

  1. 在Ubuntu上使用Samba4创建Active Directory基础结构

第1步:初始配置加入Ubuntu到Samba4 AD

1.在开始将 Ubuntu主机加入 Active Directory DC之前,需要确保在本地机器上正确配置了一些服务。 机器的一个重要方面代表 主机名 。 在 hostnamectl命令的帮助下或通过手动编辑 / etc / hostname文件,在加入域之前设置正确的机器名。
# hostnamectl set-hostname your_machine_short_name
# cat /etc/hostname
# hostnamectl

设置系统主机名

2.在下一步中,打开并使用正确的IP配置手动编辑计算机网络设置。这里最重要的设置是指向您的域控制器的DNS IP地址。 编辑 / etc / network / interfaces文件,并添加您的正确的AD IP地址和域名的 dns-nameervers语句,如下面的截图所示。 此外,请确保将相同的DNS IP地址和域名添加到 /etc/resolv.conf文件中。

配置AD的网络设置

在上面的截图中, 192.168.1.254192.168.1.253Samba4 AD DC的IP地址, youcl.lan表示将被集成到realm中的所有机器查询的AD域的名称。 3.重新启动网络服务或重新启动计算机,以便应用新的网络配置。 对您的域名发出 ping命令,以测试DNS解析是否正常工作。 AD DC应使用其FQDN重播。如果您已在网络中配置DHCP服务器以自动为LAN主机分配IP设置,请确保将AD DC IP地址添加到DHCP服务器DNS配置。
# systemctl restart networking.service
# ping -c2 your_domain_name
所需的最后一个重要配置由时间同步表示。通过发出以下命令,安装 ntpdate包,查询和与 AD DC的同步时间。
$ sudo apt-get install ntpdate
$ sudo ntpdate -q your_domain_name
$ sudo ntpdate your_domain_name

与AD的时间同步

5.在下一步中,通过运行以下命令,将Ubuntu计算机所需的软件完全集成到域中。
$ sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

在Ubuntu客户端中安装Samba4

在安装Kerberos软件包时,应该要求输入默认领域的名称。使用具有大写字母的域的名称,然后按 Enter键继续安装。

添加AD域名

6.所有软件包完成安装后,对AD管理帐户测试 Kerberos身份验证,并通过发出以下命令列出故障单。
# kinit ad_admin_user
# klist

使用AD检查Kerberos身份验证

第2步:加入Ubuntu到Samba4 AD DC

7.将Ubuntu机器集成到 Samba4 Active Directory域中的 第一步是编辑Samba配置文件。 备份由软件包管理器提供的Samba的默认配置文件,以便通过运行以下命令从干净的配置开始。
# mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
# nano /etc/samba/smb.conf 
在新的Samba配置文件中添加以下行:
[global]
workgroup = youcl
realm = youcl.LAN
netbios name = ubuntu
security = ADS
dns forwarder = 192.168.1.1
idmap config * : backend = tdb        
idmap config *:range = 50000-1000000
template homedir = /home/%D/%U
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
vfs objects = acl_xattr
map acl inherit = Yes
store dos attributes = Yes

为AD配置Samba

使用您自己的自定义设置替换工作 领域netbios名称dns转发器变量。 winbind使用默认域参数导致 winbind服务将任何未限定的AD用户名作为AD的用户。如果本地系统帐户名称与AD帐户重叠,则应忽略此参数。 8.现在,您应该重新启动所有samba守护进程,停止和删除不必要的服务,并通过发出以下命令启用系统范围内的samba服务。
$ sudo systemctl restart smbd nmbd winbind
$ sudo systemctl stop samba-ad-dc
$ sudo systemctl enable smbd nmbd winbind
9.通过发出以下命令将Ubuntu计算机加入 Samba4 AD DC 。使用具有管理员权限的AD DC帐户的名称,以便绑定到域可按预期工作。
$ sudo net ads join -U ad_admin_user

加入Ubuntu到Samba4 AD DC

10.安装了RSAT工具Windows计算机中,您可以打开 AD UC并导航到 计算机容器。在这里,你的Ubuntu加入机器应该列出。

在Windows AD DC中确认Ubuntu客户端

第3步:配置AD帐户身份验证

11.为了对本地计算机上的AD帐户执行身份验证,您需要修改本地计算机上的一些服务和文件。 首先,打开并编辑 名称服务开关NSS )配置文件。
$ sudo nano /etc/nsswitch.conf
下面为passwd和组行追加winbind值,如下面的摘录所示。
passwd:         compat winbind
group:          compat winbind

配置AD帐户身份验证

12.为了测试Ubuntu机器是否成功集成到realm中运行 wbinfo命令以列出域帐户和组。
$ wbinfo -u
$ wbinfo -g

列出AD域帐户和组

13.此外,通过发出 getent命令检查Winbind nsswitch模块,并通过一个过滤器(例如 grep)管理结果 ,以仅缩小特定域用户或组的输出。
$ sudo getent passwd| grep your_domain_user
$ sudo getent group|grep 'domain admins'

检查AD域用户和组

14.为了使用域帐户在Ubuntu计算机上 进行身份验证,您需要运行具有root权限的 pam-auth-update命令,并添加winbind服务所需的所有条目,并在首次登录时自动为每个域帐户创建主目录。 通过按 [space]键检查所有条目,然后单击 确定以应用配置。
$ sudo pam-auth-update

使用域帐户验证Ubuntu

15.在Debian系统上,您需要手动编辑 /etc/pam.d/common-account文件和以下行,以便为经过身份验证的域用户自动创建主目录。
session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

使用域帐户验证Debian

16.为了让 Active Directory用户能够在Linux中从命令行更改密码打开 /etc/pam.d/common-password文件,并从密码行中删除 use_authtok语句,最后看下面的摘录。
password       [success=1 default=ignore]      pam_winbind.so try_first_pass

允许更改密码的用户

17.要使用Samba4 AD帐户在Ubuntu主机上进行身份验证,请在su - 命令后使用domain username参数。运行id命令获取关于AD帐户的额外信息。
$ su - your_ad_user

查找AD用户信息

如果要更改密码,请使用 pwd命令查看您的域用户当前目录和passwd命令。 18.要在您的Ubuntu计算机上使用具有root权限的域帐户,您需要通过发出以下命令将AD用户名添加到sudo系统组:
$ sudo usermod -aG sudo your_domain_user
使用域帐户登录到Ubuntu,并通过运行 apt-get update命令更新系统,以检查域用户是否具有root权限。

添加Sudo用户根组

19.要为域组添加root权限,请使用 visudo命令打开结束编辑 / etc / sudoers文件,并添加以下行,如下面的截图所示。
%YOUR_DOMAIN\\your_domain\  group       		 ALL=(ALL:ALL) ALL

将根权限添加到域组

使用反斜杠来转义包含在您的域组名称中的空格或转义第一个反斜杠。在上面的示例中, youcl域的域组名为“ 域管理员 ”。 前面的百分号 (%)符号表示我们是指一个组,而不是用户名。 20.如果您正在运行Ubuntu的图形版本,并且您希望使用域用户登录系统,则需要通过编辑 /usr/share/lightdm/lightdm.conf.d/50-ubuntu来修改 LightDM显示管理器 .conf文件中,添加以下行并重新启动机器以反映更改。
greeter-show-manual-login=true
greeter-hide-users=true
现在应该可以使用 your_domain_usernameyour_domain_username@your_domain.tldyour_domain \ your_domain_username格式的域帐户在Ubuntu Desktop上执行登录。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏