[玩转系统] 如何使用 Samba 连接到 Linux Active Directory
作者:精品下载站 日期:2024-12-14 13:18:17 浏览:12 分类:玩电脑
如何使用 Samba 连接到 Linux Active Directory
如果您是系统管理员,并且想知道如何将 Linux 桌面和服务器添加到当前的 Linux Active Directory (AD),那么您来对地方了。将新客户端添加到 AD 可以简化多台客户端计算机之间的用户管理,特别是当您管理环境中的数百台计算机时。
在本教程中,您将学习如何将 Linux 系统(Ubuntu 20.04、Linux Mint 和 Ubuntu Server)添加到 Linux Samba Active Directory。这样做允许 Samba Active Directory 用户使用自己的主目录、默认 shell 和 sudo root 权限(如果需要)登录 Linux 客户端计算机。
准备好?直接跳进去!
您的 Active Directory 中的密码是否已泄露?下载 Specops 密码审核器并免费扫描。
先决条件
本教程将是一个实践演示。如果您想跟随,请确保您满足以下要求:
- Linux 桌面计算机 - 本教程使用 Ubuntu 20.04 桌面,但您可以使用其他发行版,例如 Linux Mint 和 Ubuntu Server。
- 具有 sudo 权限的非 root 用户。
- 功能齐全的 Samba Active Directory (AD)。
设置永久 DNS 解析器
在将 Linux 客户端添加到 Samba Active Directory 之前,必须确保可以从客户端计算机访问 Samba Active Directory 域名。如何?通过在 /etc/resolv.conf
配置文件中将 Samba AD IP 地址设置为每台客户端计算机的默认 DNS 解析器。
1. 打开终端,然后运行下面的 systemctl
命令来禁用和停止 systemd-resolved
服务。这样做可以确保 Linux 客户端使用静态且永久的 DNS 解析器。
管理员定义了此永久 DNS 解析,并且不会被任何第三方服务(例如 systemd-resolved
)取代。
# disable and stop systemd-resolved service
sudo systemctl disable --now systemd-resolved
2. 接下来,运行下面的unlink
命令来删除符号链接文件(/etc/resolv.conf
)。您将在下一步中替换该文件。 # 删除符号链接文件 /etc/resolv.conf sudo unlink /etc/resolv.conf
# remove symlink file /etc/resolv.conf
sudo unlink /etc/resolv.conf
3. 现在,使用您喜欢的编辑器创建一个名为 /etc/resolv.conf
的新文件,并使用以下配置填充该文件。
下面的配置设置了主 DNS 解析器和后备 DNS 解析器。
# Samba AD as main DNS resolver
nameserver 172.16.1.10
# fall-back DNS resolver using Cloudflare
nameserver 1.1.1.1
# hostname lookup for domain example.lan
search example.lan
4. 运行下面的 chattr
命令使文件 /etc/resolv.conf
不可变,以确保客户端计算机始终使用 Samba AD 作为默认 DNS 解析器。这些命令还可以防止其他服务(例如 NetworkManager)的覆盖。
# making the file `/etc/resolv.conf` immutable
sudo chattr +i /etc/resolv.conf
# remove immutable attribute
sudo chattr -i /etc/resolv.conf
5. 最后,运行下面的 ping
命令来验证与 Samba AD 域名 dc1.example.lan
和 example.lan
的连接。
# ping to AD server dc1.example.an and example.lan
ping -c3 dc1.example.lan
ping -c3 example.lan
如果连接成功,您将收到 AD 服务器的回复消息,并且域 dc1.example.lan
和 example.lan
将解析为 Samba广告 IP 地址。
将 Chrony 设置为 NTP 客户端
配置 DNS 解析器后,您现在将设置 Chrony 以同步客户端计算机与 Samba AD 服务器之间的时间。如果客户端与AD服务器之间存在时间差(最多5分钟),客户端将无法访问AD服务器上的所有资源。
1. 运行以下命令将 chrony
安装到您的 Linux 客户端。
# install chrony
sudo apt install chrony -y
2. 现在,在您的首选编辑器中编辑默认 Chrony 配置 (/etc/chrony/chrony.conf
) 并添加以下配置。
bindcmdaddress
值必须是客户端 IP 地址。 Chrony 服务将在此 IP 地址上运行。而服务器
选项是您将 Samba AD 域名添加为 NTP 服务器的位置。
# run Chrony as NTP client on the IP address
bindcmdaddress 172.16.1.85
# time synchronize to the Samba AD dc1.example.lan
server dc1.example.lan iburst
3. 接下来,运行下面的 systemctl
命令来重新启动 chronyd
服务并验证服务状态是否为活动(正在运行)
。 # 重新启动 chronyd 服务 sudo systemctl restart chronyd # 验证 chronyd 服务状态 sudo systemctl status chronyd
# restart chronyd service
sudo systemctl restart chronyd
# verify status chronyd service
sudo systemctl status chronyd
如下所示,chronyd
服务处于活动(正在运行)
状态并且已启用
。 Chrony NTP 客户端现在将在系统启动时自动启动。
4. 最后,运行以下命令以验证客户端计算机上的 Chrony 服务是否已连接到 Samba AD NTP 服务器。 慢性跟踪
chronyc tracking
如下所示,Linux 客户端上的 Chrony 服务连接到 IP 地址为 172.16.1.10 的 Samba AD NTP 服务器。
将 Linux 客户端加入 Samba Active Directory
您现在已经在 Linux 客户端上配置了 Chrony。但是如何将这台客户端计算机添加到 Samba Active Directory 中呢?首先安装并配置 realmd
和 sssd
服务,以将 Linux 客户端添加到 Samba AD 服务器。
1. 运行下面的 apt
命令来刷新您的软件包索引。此命令可确保您从存储库安装最新版本的软件包。
sudo apt update
接下来,运行以下命令来安装 realmd
和 sssd
服务以及所需的所有其他软件包。 realmd
服务与底层 Linux 服务(例如 sssd
)一起使用,以加入 Samba Active Directory。
sudo apt install -y realmd sssd sssd-tools samba-common krb5-user packagekit samba-common-bin samba-libs adcli
输入 Samba Active Directory 的默认领域(大写),如下所示。您将使用此默认领域进行 Kerberos 身份验证。
在此示例中,Samba AD 的默认领域域是 EXAMPLE.LAN。
3. 使用您喜欢的编辑器创建一个新文件 /etc/realmd.conf
并添加以下配置。以下配置执行以下操作:
- 处理Samba AD域和用户的行为
- 指定客户端与 AD 服务器的连接
- 确定是否使用附加服务的自动安装。
example.lan
AD 域的具体配置。
[users]
# define Samba AD users behavior
# define default home directory and shell for Samba AD users
default-home = /home/%U
default-shell = /bin/bash
[active-directory]
# define realmd connection to the Samba AD
# you can use `sssd` or `winbind` for realmd to join Samba AD
# os-name can used as an identifier for client
default-client = sssd
os-name = Linux Ubuntu and Mint Desktop
[service]
# disable automati install for additional realmd service
automatic-install = no
[example.lan]
# define behavior of Samba AD `example.lan`
# disable fully-qualified-names so you can use a username to identify Samba users
# automatic-id-mapping to yes will automatically generate UID and GID numbers
# user-principal to yes will automatically create UserPrincipalName for the client machine
# manage-system to yes to enabled realmd to manage client machine
fully-qualified-names = no
automatic-id-mapping = yes
user-principal = yes
manage-system = yes
运行下面的 kinit
命令,使用默认用户 (administrator
) 验证与 Kerberos 服务的域连接 (EXAMPLE.LAN
)。
出现提示时输入administrator
Samba AD 用户的密码,如下所示。
向 Samba AD 添加新客户端需要使用管理员
用户。
# authenticate to Kerberos server on EXAMPLE.LAN using administrator
sudo kinit [email
# verify authentication and print detailed Kerberos tickets for administrator user
sudo klist
5. 现在,运行下面的 realm join
命令将 Linux 客户端添加到 Samba AD (example.lan
)。将 UbuntuMintDesktop
替换为唯一的用户主体名称 (UPN)。每个客户端/计算机必须有不同的 UPN。
# joining/adding Linux Ubuntu/Mint to Samba AD example.lan
# --verbose to get full logs from the process
# --user-principal will automatically set the UserPrincipalName for this machine
# --unattended will run the realm command without prompting for a password prompt,
# because you've already authenticated through the Kerberos ticket
sudo realm join --verbose example.lan --user-principal=UbuntuMintDesktop/[email --unattended
该过程完成后,您将收到在领域中成功注册计算机消息。至此,您已成功将 Linux 客户端添加到 Samba Active Directory。
6. 接下来,在您的首选编辑器中打开 /etc/sssd/sssd.conf
配置文件。
添加以下行,将默认组策略对象 (GPO) 访问控制更改为 permissive
,并将 access_provider
的值设置为 ad
。 ad
值表示 sssd
服务的默认身份验证是 Active Directory。
在撰写本文期间,当 ad_gpo_access_control
设置为 enforcing
(默认值)时,Ubuntu 20.04 桌面版和服务器版将不允许 AD 用户登录。因此,您将 ad_gpo_access_control
值更改为 permissive
。
但在 Linux Mint 上,即使 ad_gpo_access_control
处于强制
模式,您仍然可以使用 AD 用户登录。
# change default GPO access control to permissive
ad_gpo_access_control = permissive
7. 运行下面的 pam-auth-update
命令来修改 PAM 配置。此命令启用 PAM 模块 (pam_mkhomedir.so)。启用 PAM 模块会自动为 Samba AD 用户创建主目录(仅当主目录不可用时)。
# modify PAM configuration
pam-auth-update
在终端屏幕上选择在登录时创建主目录选项,然后选择确定进行确认。
按 SPACE 键启用选项,然后按 TAB 键移动光标菜单。
8. 运行下面的realm list
命令来验证您与 Samba Active Directory 的连接。
# Checking connected AD
realm list
如果连接成功,您将收到详细的 AD 连接信息,如下所示。
在下面,您可以看到 Ubuntu/Mint 桌面计算机作为 (kerberos-member) 连接到 Samba Active Directory (example.lan)。
9. 现在,运行下面的 id
命令来检查 Samba AD 用户。
# checking Samba AD user `alice`
id alice
如果安装成功,您将收到 Samba 用户 alice
的随机 uid
和 gid
。在此示例中,您可以看到用户 alice 已创建并可在 Samba AD 上使用。
10. 此外,运行以下命令设置默认文本编辑器并在默认编辑器中打开 (visudo
) /etc/sudoers
文件。您可以随时更改首选文本编辑器,但此演示的默认编辑器是 nano
。
# Sets default editor to nano
export EDITOR=nano
# Opens the /etc/sudoers file in the default editor
visudo
使用以下格式将您的 Samba AD 用户添加到 sudoers
文件中,保存更改并关闭编辑器。这样做可以让您为 Samba 用户启用 sudo
权限(如果您需要用户运行 sudo)。
# add Samba user `alice` to sudoers
alice ALL=(ALL:ALL) ALL
11. 最后,在 Ubuntu 桌面上运行以下命令来重新启动
系统以应用新配置。
但对于 Linux Mint 和 Ubuntu 服务器,您仍然需要添加一些额外的配置,这将在下一节中介绍。
sudo reboot
为 Samba Active Directory 设置 LightDM
使用用户名和密码进行手动登录过程的默认 LightDM 配置在 Linux Mint 桌面上已禁用。您将更改 LightDM 配置以启用手动登录过程,以便 Samba AD 用户可以登录到 Mint Desktop 计算机。
在您的首选编辑器中打开 LightDM (/etc/lightdm/lightdm.conf) 配置文件,并在 [Seat:*]
部分下填充以下配置。
下面的greeter-show-manual-login=true
选项启用 LightDM 上的手动登录过程,而allow-guest=false
选项则禁用访客用户登录。
# enable manual login
greeter-show-manual-login=true
# disable guest login
allow-guest=false
现在,运行以下命令重新启动 Linux Mint 桌面以应用新配置。
sudo reboot
为 SSH 服务设置 Kerberos 身份验证
您必须在服务器环境中的SSH服务上启用Kerberos身份验证。这样做可以让 AD 用户登录到服务器。如何?通过编辑 SSH 配置文件。
在您的首选编辑器中打开 SSH (/etc/ssh/sshd_config
) 配置文件。
取消注释以下选项并将其值设置为 yes
:
KerberosAuthentication
- 启用 Kerberos 身份验证。KerberosTicketCleanup
- 注销时自动销毁 Kerberos 票证
现在,运行以下命令重新启动服务器并应用新配置。
sudo reboot
使用Samba AD用户登录Linux机器
现在您已完成 Linux 客户端并将其添加到 Samba AD。但是如何验证 Samba AD 用户是否可以登录这些 Linux 客户端呢?您可以在 Linux 桌面客户端上的显示管理器登录屏幕上指定用户和密码。而对于Ubuntu服务器,您可以通过安全的SSH协议进行连接。
登录 Ubuntu、Mint 和 Ubuntu 服务器看起来各不相同。但不用担心,在此演示中您将看到如何使用 Samba AD 用户登录每个操作系统。
登录Linux Ubuntu桌面
对于 Linux Ubuntu Desktop,使用 Samba AD 用户登录与通常登录用户帐户的方式相同。
1. 启动您的 Ubuntu 桌面客户端,单击 Ubuntu GDM 登录屏幕上的未列出?选项以使用其他用户登录。
2. 接下来,以 [email
格式输入您的 Samba AD 用户。此示例使用 Samba AD 用户alice(example.lan),如下所示。
3. 输入 Samba AD 用户 (alice) 的密码,然后按 ENTER 登录。
登录后,您将看到默认的 Ubuntu 桌面,如下图所示,其中 Samba AD 用户 alice
已成功登录。
您可以在下面看到 PAM 模块 (pam_mkhomedir.so.
) 自动创建用户的主目录。而 sudo root 权限是通过文件 sudoers
配置的。
登录Linux Mint桌面
对于 Linux Mint 桌面,登录看起来与在 Ubuntu 桌面上登录的方式有点不同,
点击“登录”按钮,输入您的用户名和密码,如下所示,然后按 ENTER 登录。
现在,您将看到 Samba AD 用户的 Linux Mint 桌面,如下所示。
登录Ubuntu服务器
与前两个操作系统不同,您将使用 ssh
命令通过命令行环境登录 Ubuntu 服务器。
从另一台计算机运行下面的 ssh
命令,使用 Samba AD 用户按照 user@server_ip
格式连接到服务器,如下所示。
# connect to SSH using AD user
ssh [email
输入 yes
添加服务器指纹身份并输入 Ubuntu 服务器的 Samba AD 用户密码。
如下所示,系统会自动创建用户的主目录,并且 Samba AD 用户的默认 shell 是 Bash。
强制执行合规性要求,阻止超过 30 亿个被泄露的密码,并通过动态最终用户反馈帮助用户在 Active Directory 中创建更强的密码。立即联系我们了解 Specops 密码政策!
结论
在本教程中,您学习了如何使用 SSSD 和领域服务将 Linux 客户端(桌面和服务器)添加到 Samba Active Directory (AD)。此外,您还学习了如何在 Linux 服务器的 SSH 服务上启用 Kerberos 身份验证。
现在,您将如何利用 Samba Active Directory 的功能?也许尝试添加另一台服务器作为域控制器 (DC) 以加入当前的 Samba AD?此设置为您的 AD 提供复制、冗余和负载平衡支持。因此,您可以将另一组客户端添加到 Samba AD。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag