如何从Linux命令行管理Samba4 AD基础架构 - 第2部分

本教程将介绍 一些基本的日常命令,你需要以管理 Samba4 AD域控制器的基础设施,如添加,删除,禁用或列出用户和用户组使用。 我们还将了解如何管理域安全策略以及如何将AD用户绑定到本地PAM身份验证,以便AD用户能够在Linux域控制器上执行本地登录。

要求

  1. 在Ubuntu 16.04上创建一个使用Samba4的AD基础架构 - 第1部分

第1步:从命令行管理Samba AD DC

1. SambaAD DC可以通过 Samba-tool命令行实用程序,它提供了一个出色的界面,用于管理您的域名进行管理。 借助samba工具界面,您可以直接管理域用户和组,域组策略,域站点,DNS服务,域复制和其他关键域功能。 要查看samba-tool的整个功能,只需使用root权限键入命令,而不使用任何选项或参数。
# samba-tool -h

samba-tool - 管理Samba管理工具

2.现在,让我们开始使用 Samba-tool实用程序来管理 Samba4 Active Directory和管理我们的用户。 要在AD上创建用户,请使用以下命令:
# samba-tool user add your_domain_user
要添加具有AD所需的几个重要字段的用户,请使用以下语法:
--------- review all options --------- 
# samba-tool user add -h  
# samba-tool user add your_domain_user --given-name=your_name --surname=your_username --mail-address=your_domain_user@youcl.lan --login-shell=/bin/bash

在Samba AD上创建用户

3.所有SambaAD域用户的列表可以通过发出以下命令获得:
# samba-tool user list

列出Samba AD用户

4.删除 SambaAD域用户使用下面的语法:
# samba-tool user delete your_domain_user
5.通过执行以下命令重置Samba域用户密码:
# samba-tool user setpassword your_domain_user
6.禁用或启用AD Samba用户帐号使用下面的命令:
# samba-tool user disable your_domain_user
# samba-tool user enable your_domain_user
7.同样,Samba组可以使用下面的命令语法管理:
--------- review all options --------- 
# samba-tool group add –h  
# samba-tool group add your_domain_group
8.通过发出以下命令删除Samba域组:
# samba-tool group delete your_domain_group
9.要显示所有Samba域组运行以下命令:
# samba-tool group list
10.要列出所有在特定组使用命令Samba域成员:
# samba-tool group listmembers "your_domain group"

列出组的Samba域成员

11.添加/从Samba域组中删除成员可以通过发出以下命令之一来完成:
# samba-tool group addmembers your_domain_group your_domain_user
# samba-tool group remove members your_domain_group your_domain_user
12.正如前面提到的,Samba工具命令行界面还可以用来管理你的Samba域策略和安全。 要查看您的samba域密码设置,请使用以下命令:
# samba-tool domain passwordsettings show

检查Samba域密码

13.为了修改Samba域密码策略,如密码复杂程度,密码有效期长,许多旧密码怎么记住和域控制器所需的其他安全功能使用下面的截图作为指南。
---------- List all command options ---------- 
# samba-tool domain passwordsettings -h 

管理Samba域密码设置

切勿在生产环境中使用上述密码策略规则。以上设置仅用于演示目的。

第2步:使用Active Directory帐户进行Samba本地认证

14.默认情况下,AD用户不能在Linux系统 的Samba AD DC环境外上进行本地登录。 为了在系统上登录使用 Active Directory帐户你需要在你的Linux系统环境下的变化和修改Samba4 AD DC。 首先,打开samba主配置文件并添加以下行,如果缺失,如下面的截图所示。
$ sudo nano /etc/samba/smb.conf
确保以下语句出现在配置文件中:
winbind enum users = yes
winbind enum groups = yes

使用Active Directory用户帐户的Samba身份验证

15.你所做的更改后,使用 testparm实用程序来确保没有错误是在Samba配置文件中找到,并通过发出以下命令来重新启动Samba后台程序。
$ testparm
$ sudo systemctl restart samba-ad-dc.service

检查Samba的错误配置

16.接下来,我们需要修改本地PAM配置文件,以便 Samba4 Active Directory帐户才能够进行身份验证并打开本地系统上的会话,并在首次登录时为用户创建一个主目录。 使用 PAM-AUTH-update命令,打开PAM配置提示,确保您使用的是启用所有PAM配置文件 [space]如图所示,在下面的截图键。 完成后击 [Tab]键移动到 确定 ,应用更改。
$ sudo pam-auth-update

为Samba4 AD配置PAM

为Samba4 AD用户启用PAM验证模块

17.现在,用文本编辑器打开 /etc/nsswitch.conf文件,并在密码和组行的末尾添加 winbind的语句下面的截图所示。
$ sudo vi /etc/nsswitch.conf

为Samba添加Windbind服务开关

18.最后,编辑 /etc/pam.d/common-password文件中,搜索下面的线所示在下面的截图并取出 use_authtok声明。 此设置确保Active Directory用户可以在Linux中进行身份验证时从命令行更改其密码。启用此设置后,在Linux上本地认证的AD用户无法从控制台更改其密码。
password       [success=1 default=ignore]      pam_winbind.so try_first_pass

允许Samba AD用户更改密码

删除 use_authtok选项每个PAM更新安装并应用到PAM模块或每次执行 PAM-AUTH-update命令时的时间。 19. Samba4二进制带有内置并且默认启用 winbindd服务。 出于这个原因你不再需要单独启用并运行由 winbind包从Ubuntu官方仓库提供 winbind进程。 如果旧的和不建议使用 winbind服务已启动该系统上,确保您禁用它,并通过发出以下命令停止服务:
$ sudo systemctl disable winbind.service
$ sudo systemctl stop winbind.service
虽然,我们不再需要运行老winbind进程,我们仍然需要从信息库,以安装和使用 wbinfo安装工具包Winbind。 wbinfo工具可以用来但从 winbindd服务点查询Active Directory用户和组。 以下命令说明了如何使用 wbinfo查询AD用户和组。
$ wbinfo -g
$ wbinfo -u
$ wbinfo -i your_domain_user

检查Samba4 AD信息

检查Samba4 AD用户信息

20.除了 wbinfo实用程序,您还可以使用 getent命令行实用程序从它们在 /etc/nsswitch.conf文件中表示名称服务切换库查询Active Directory数据库。 管 getent通过 grep过滤器,以缩小对只是你的AD域用户或组数据库中的结果命令。
# getent passwd | grep youcl
# getent group | grep youcl

获取Samba4 AD详细信息

第3步:使用Active Directory用户登录Linux

21.为了与 Samba4 AD用户对系统进行身份验证,只需使用后 ,AD用户名su -命令。 在第一次登录时的消息将其通知您主目录已创建的控制台上显示 /home/$DOMAIN/你的AD用户名系统路径。 使用 id命令用来显示有关身份验证的用户的额外信息。
# su - your_ad_user
$ id
$ exit

在Linux上检查Samba4 AD用户验证

22.在控制台通过身份验证的AD用户类型 passwd命令更改密码成功登录到系统。
$ su - your_ad_user
$ passwd

更改Samba4 AD用户密码

23.默认情况下 ,Active Directory用户不具有root权限才能在Linux上执行管理任务理所当然的。 授予root权限到AD用户,您必须通过发出以下命令添加用户名到本地 Sudo组。 请务必附上的 realm , slash和单引号 ASCII AD用户名
# usermod -aG sudo 'DOMAIN\your_domain_user'
为了测试AD用户本地系统上的root权限,登录并运行一个命令,如  apt-get update ,使用sudo权限。
# su - youcl_user
$ sudo apt-get update

授予Samba4 AD用户的sudo权限

24.如果您想使用 visudo命令添加root权限的Active Directory组,编辑 /etc/sudoers文件的所有账户,并添加后root权限线下面的线,在下面的截图所示:
%DOMAIN\\your_domain\  group ALL=(ALL:ALL) ALL
要注意 sudoers语法,如果语法出错 sudo 将不能使用。 sudoers文件中没有处理得很好用 ASCII引号,所以一定要使用 %来表示你引用一组,用一个反斜杠转义域名之后的第一个斜线和一个反斜杠转义空间如果组名称包含空格(大多数AD内置组在默认情况下包含空格)。此外,用大写写领域。

给Sudo访问所有Samba4 AD用户

这就是现在! Managing  Samba4 AD基础设施能够从Windows环境的一些工具,如 ADUC,DNS管理器 ,GPM或其他,它可以从微软下载页面安装 RSAT包中获得来达到目的。 要通过 RSAT公用事业管理 Samba4 AD DC,这是绝对必要的Windows系统连接 Samba4 Active Directory 。 这将是我们的下一个教程的主题,到那时敬请关注 youcl。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

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

支付宝扫一扫打赏

微信扫一扫打赏