福清营销型网站建设方案,德兴高端网站设计,wordpress添加新php页面,做特产的网站的分析文章目录 使用 SSSD 进行网络用户身份验证SSSD和Active Directory先决条件、假设和要求软件安装加域 SSSD配置自动创建HOME目录 检查和验证 Kerberos票证已知的问题参考 使用 SSSD 进行网络用户身份验证
SSSD 代表系统安全服务守护程序#xff0c;它实际上是处理来自各种网络… 文章目录 使用 SSSD 进行网络用户身份验证SSSD和Active Directory先决条件、假设和要求软件安装加域 SSSD配置自动创建HOME目录 检查和验证 Kerberos票证已知的问题参考 使用 SSSD 进行网络用户身份验证
SSSD 代表系统安全服务守护程序它实际上是处理来自各种网络源的身份验证、授权以及用户和组信息的守护程序集合。它的核心是支持
Active DirectoryLDAPKerberos
SSSD 提供 PAM 和 NSS 模块将这些远程源集成到您的系统中并允许远程用户登录并被识别为有效用户包括组成员身份。为了允许断开连接操作SSSD还可以缓存此信息以便用户可以在发生网络故障或其他类似问题时继续登录。
本文将重点介绍部署 SSSD 的最常见方案。
SSSD和Active Directory
本节介绍如何使用 sssd 通过使用 sssd 的“ad”提供程序对用户登录进行身份验证。最后Active Directory 用户将能够使用其 AD 凭据登录主机。组成员身份也将保持。
先决条件、假设和要求
本文不解释Active Directory它是如何工作的如何设置一个或如何维护它。本文假定已配置有效的 Active Directory 域并且您有权访问凭据以将计算机加入该域。域控制器充当域的权威 DNS 服务器。域控制器是主 DNS 解析器请查阅 systemd-resolve --status 系统时间正确且同步通过 chrony 或 ntp 等服务进行维护此示例中使用的域是 yyaw.com 。
软件安装
安装以下软件包
sssd-adsssd-toolsrealmdadcli
加域
我们将使用 realm realmd 软件包中的命令加入域并创建 sssd 配置。让我们验证域是否可通过 DNS 发现运行sudo realm -v discover yyaw.com结果如下 * Resolving: _ldap._tcp.yyaw.com* Performing LDAP DSE lookup on: 192.1.4.9* Successfully discovered: yyaw.com
yyaw.comtype: kerberosrealm-name: yyaw.comdomain-name: yyaw.comconfigured: noserver-software: active-directoryclient-software: sssdrequired-package: sssd-toolsrequired-package: sssdrequired-package: libnss-sssrequired-package: libpam-sssrequired-package: adclirequired-package: samba-common-bin这将执行多项检查并确定与 sssd 一起使用的最佳软件堆栈。SSSD 可以通过 PackageKit 安装缺少的软件包但我们之前已经安装了它们。现在让我们加入域sudo realm join yyaw.com。此命令没有消息输出。如果对此命令的内幕比较好奇可以增加-v参数输出如下 * Resolving: _ldap._tcp.yyaw.com* Performing LDAP DSE lookup on: 192.1.4.9* Successfully discovered: yyaw.com
Password for Administrator: * Unconditionally checking packages* Resolving required packages* LANGC /usr/sbin/adcli join --verbose --domain yyaw.com --domain-realm yyaw.com --domain-controller 192.1.4.9 --login-type user --login-user Administrator --stdin-password* Using domain name: yyaw.com* Calculated computer account name from fqdn: AD-CLIENT* Using domain realm: yyaw.com* Sending NetLogon ping to domain controller: 192.1.4.9* Received NetLogon info from: nfs.yyaw.com* Wrote out krb5.conf snippet to /var/cache/realmd/adcli-krb5-hUfTUg/krb5.d/adcli-krb5-conf-hv2kzi* Authenticated as user: Administratoryyaw.com* Looked up short domain name: AD1* Looked up domain SID: S-1-5-21-2660147319-831819607-3409034899* Using fully qualified name: ad-client.yyaw.com* Using domain name: yyaw.com* Using computer account name: AD-CLIENT* Using domain realm: yyaw.com* Calculated computer account name from fqdn: AD-CLIENT* Generated 120 character computer password* Using keytab: FILE:/etc/krb5.keytab* Found computer account for AD-CLIENT$ at: CNAD-CLIENT,CNComputers,DCyyaw,DCcom* Sending NetLogon ping to domain controller: 192.1.4.9* Received NetLogon info from: nfs.yyaw.com* Set computer password* Retrieved kvno 3 for computer account in directory: CNAD-CLIENT,CNComputers,DCyyaw,DCcom* Checking RestrictedKrbHost/ad-client.yyaw.com* Added RestrictedKrbHost/ad-client.yyaw.com* Checking RestrictedKrbHost/AD-CLIENT* Added RestrictedKrbHost/AD-CLIENT* Checking host/ad-client.yyaw.com* Added host/ad-client.yyaw.com* Checking host/AD-CLIENT* Added host/AD-CLIENT* Discovered which keytab salt to use* Added the entries to the keytab: AD-CLIENT$yyaw.com: FILE:/etc/krb5.keytab* Added the entries to the keytab: host/AD-CLIENTyyaw.com: FILE:/etc/krb5.keytab* Added the entries to the keytab: host/ad-client.yyaw.comyyaw.com: FILE:/etc/krb5.keytab* Added the entries to the keytab: RestrictedKrbHost/AD-CLIENTyyaw.com: FILE:/etc/krb5.keytab* Added the entries to the keytab: RestrictedKrbHost/ad-client.yyaw.comyyaw.com: FILE:/etc/krb5.keytab* /usr/sbin/update-rc.d sssd enable* /usr/sbin/service sssd restart* Successfully enrolled machine in realm默认情况下realm将使用域的Administrator帐户来请求加入。如果您需要使用其他帐户请使用 -U 该选项将其传递给该工具。加入域的另一种流行方式是使用 OTP 或一次性密码令牌。为此请使用该 --one-time-password 选项。
SSSD配置
realm工具已经负责创建 sssd 配置、添加 pam 和 nss 模块以及启动必要的服务。/etc/sssd/sssd.conf文件已存在如下内容
[sssd]
domains yyaw.com
config_file_version 2
services nss, pam[domain/yyaw.com]
default_shell /bin/bash
krb5_store_password_if_offline True
cache_credentials True
krb5_realm yyaw.com
realmd_tags manages-system joined-with-adcli
id_provider ad
fallback_homedir /home/%u%d
ad_domain yyaw.com
use_fully_qualified_names True
ldap_id_mapping True
access_provider ad我们要记住的非常重要的一点是此文件必须具有权限 0600 且所有权为 rootroot否则 sssd 将拒绝启动此配置文件的重点
cache_credentials字面意思是缓存。这允许在无法访问AD服务器时登录home directory默认情况下 /home/userdomain 。例如AD 用户 tingting 将有一个主目录 /home/tingtingyyaw.comuse_fully_qualified_names用户的形式将是userdomain而不仅仅是用户。仅当您确定没有其他域将通过几种可能的信任关系之一加入 AD 林时才应更改此设置。
自动创建HOME目录
该工具 realm 没有为我们做的是 pam_mkhomedir 设置 以便网络用户在登录时可以获得主目录。剩余的步骤可以通过运行以下命令来完成
sudo pam-auth-update --enable mkhomedir检查和验证
现在您应该能够获取有关 AD 用户的信息。在此示例中tingting Smith 是 AD 用户运行命令getent passwd tingtingyyaw.com应当看到输出tingtingyyaw.com:*:1725801106:1725800513:tingting Smith:/home/tingtingyyaw.com:/bin/bash。再检查组权限groups tingtingyyaw.com结果输出tingtingyyaw.com : domain usersyyaw.com engineeringyyaw.com。如果您刚刚更改了用户的组成员身份则由于缓存sssd 可能需要一段时间才能注意到。最后我们尝试登录怎么样运行sudo login结果
ad-client login: tingtingyyaw.com
Password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-24-generic x86_64)
...
Creating directory /home/tingtingyyaw.com.
tingtingyyaw.comad-client:~$ 请注意主目录是如何自动创建的。您也可以使用 ssh但请注意由于多个 符号该命令看起来有点有趣。运行ssh tingtingyyaw.com192.1.4.8结果
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-24-generic x86_64)
(...)
Last login: Thu Oct 16 21:22:55 2023
tingtingyyaw.comad-client:~$ 在 ssh 示例中使用了公钥身份验证因此不需要密码。请记住默认情况下在 中 /etc/ssh/sshd_config 禁用 ssh 密码身份验证。
Kerberos票证
如果安装 krb5-user 则 AD 用户还将在登录时获得 kerberos 票证。运行klist结果
Ticket cache: FILE:/tmp/krb5cc_1725801106_9UxVIz
Default principal: tingtingyyaw.comValid starting Expires Service principal
04/16/20 21:32:12 04/17/20 07:32:12 krbtgt/yyaw.comyyaw.comrenew until 04/17/20 21:32:12在安装 krb5-user 时应该不会有进一步的配置提示因为realm已提前配置。让我们使用 smbclient 使用 kerberos 身份验证进行测试以列出域控制器的共享。运行smbclient -k -L nfs.yyaw.com结果 Sharename Type Comment--------- ---- -------ADMIN$ Disk Remote AdminC$ Disk Default shareIPC$ IPC Remote IPCNETLOGON Disk Logon server share SYSVOL Disk Logon server share
SMB1 disabled -- no workgroup availableTicket cache: FILE:/tmp/krb5cc_1725801106_9UxVIz
Default principal: tingtingyyaw.comValid starting Expires Service principal
10/16/23 21:32:12 10/17/23 07:32:12 krbtgt/yyaw.comyyaw.comrenew until 10/17/23 21:32:12
10/16/23 21:32:21 10/17/23 07:32:12 cifs/nfs.yyaw.comyyaw.com已知的问题
登录加入Active Directory域的系统时 sssd 负责此集成的软件包将默认尝试应用组策略。在某些情况下如果缺少特定策略登录将被拒绝。这在BUG #1934997 中被跟踪。在修复程序可用之前请参阅该错误报告中的注释 #5 以了解现有的解决方法。
参考
https://sssd.io/ 作者岬淢箫声日期2023年10月23日版本1.0链接http://caowei.blog.csdn.net