导读 在本文中,我们将在Ubuntu 20.04中安装并配置 PowerBroker Identity Services(PBIS),以便与Windows的域控制器连接在一起。
下载并安装PBIS

我们需要从Github中下载PBIS工具,可以使用下面的命令下载当前版本适用Ubuntu的PBIS工具。
github下载连接为:https://github.com/BeyondTrust/pbis-open/releases/

# 该链接是64位版本的
bob@bob-ubu:~$ wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh
# 该连接是32位版本的
bob@bob-ubu:~$ wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86.deb.sh

下面步骤开始安装PBIS,安装很简单,只需要将下载的文件添加执行权限,并执行即可:

bob@bob-ubu:~$ chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh
bob@bob-ubu:~$ sudo ./pbis-open-9.1.0.551.linux.x86_64.deb.sh

PBIS 相关配置
加入域

PBIS已经安装成功,下面进入/opt/pbis/bin目录,来执行domainjoin-cli命令让系统加入域吧。

domainjoin-cli join的用法如下:

$ sudo domainjoin-cli join DomainName AdminUser

下面将系统加入到pangzb.com域中:

bob@bob-ubu:/opt/pbis/bin$ cd /opt/pbis/bin/
bob@bob-ubu:/opt/pbis/bin$ sudo domainjoin-cli join pangzb.com administrator

  • DomainName: 是你的域环境的域名
  • AdminUser: 是域管理员用户

出现提示时,请提供 Active Directory 管理员的密码。成功验证后,PBIS工具会将Ubuntu计算机添加为域的成员。该命令还会在 /etc/hosts 文件中添加条目。

下面图片中,实在AD域控制器中看到Ubuntu系统已成为域的成员了。

通过domainjoin-cli query来查看是否以加入域成功:

bob@bob-ubu:/opt/pbis/bin$ sudo domainjoin-cli query
Name = bob-ubu
Domain = PANGZB.COM
Distinguished Name = CN=BOB-UBU,CN=Computers,DC=pangzb,DC=com
bob@bob-ubu:/opt/pbis/bin$

可以看到主机名、域名、和DN名称。

退出域

如果该计算机想要退出域,则需要使用leave选项了:

bob@bob-ubu:/opt/pbis/bin$ sudo domainjoin-cli leave
域用户使用sudo

加入域之后重要的事情是限制域用户使用sudo命令提权。 这可以通过使用visudo命令添加%domain^admins ALL=(ALL) ALL来完成,这样只允许域管理员用户才能使用sudo命令:

 bob@bob-ubu:~$ sudo visudo
# 打开之后,在配置文件中添加如下行
%domain^admins ALL=(ALL) NOPASSWD: ALL

其他功能

使用PBIS的有点是,它允许以多种方式自定义登录、域名前缀、登录shell、文件夹名称等。 通过下面功能调试,可以使域用户更好的访问ubuntu系统。

设置默认shell

默认的shell为sh,看起来太单调,在这里可以设置成bash shell,使用LoginShellTemplate参数。

bob@bob-ubu:~$ sudo /opt/pbis/bin/config LoginShellTemplate /bin/bash


更改为bash shell之后,用与用户登录的效果:

设置域用户家目录文件夹的命名规则

默认域用户登录之后目录结构为/home/local/Domain/User,如果嫌目录太长,可以修改 ,使用HomeDirTemplate参数:

bob@bob-ubu:~$ sudo /opt/pbis/bin/config HomeDirTemplate %H/%U@%D


其中%H参数表示home目录,%D表示域名,%U表示域用户名,@表示用来分隔的符号。

使用ssh登录域用户

可以将域用户和域名之间的@符号转义,就可以登录了。

PANGZB\user01@bob-ubu:~$ ssh user01\@pangzb.com@localhost

图形化界面登录域用户

不需要设置其他,直接输入域用户:

然后输入密码:

即可进入系统啦:

如何重启PBIS服务

PBIS的守护进程是lwsmd,该守护进程位于/opt/pbis/sbin/lwsmd。 这个守护进程包括lsass服务,它处理身份验证、授权、缓存和ldmap查找。 因为身份验证服务只在启动时注册信任,所以在修改信任关系后,应该使用lsass。 执行以下命令重启服务:

bob@bob-ubu:~$ sudo /opt/pbis/bin/lwsm restart lsass

如何退出域并卸载PBIS

使用下面的命令退出域:

bob@bob-ubu:~$ sudo /opt/pbis/bin/domainjoin-cli leave
Leaving AD Domain:   PANGZB.COM
SUCCESS


然后使用自带的脚本uninstall.sh来卸载干净pbis:

bob@bob-ubu:~$ sudo /opt/pbis/bin/uninstall.sh purge

域控制器中如何删除无效的主机

在域控制器中,打开powershell,输入如下命令:

# 列出至少1星期没有启动的机器,并禁用
dsquery computer -inactive | dsmod computer -disabled yes
# 列出已禁用的主机,并删除
dsquery computer -disabled | dsrm -noprompt
总结

本文介绍了在Ubuntu中安装并配置 PowerBroker Identity Services(PBIS),以便与Windows的域控制器连接在一起。

本文原创地址:https://www.linuxprobe.com/ubuntu-pbis-domain.html编辑:逄增宝,审核员:逄增宝