![使用我的 AD 凭据登录后,为什么我无法更改任何设置?](https://linux22.com/image/1028989/%E4%BD%BF%E7%94%A8%E6%88%91%E7%9A%84%20AD%20%E5%87%AD%E6%8D%AE%E7%99%BB%E5%BD%95%E5%90%8E%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E6%9B%B4%E6%94%B9%E4%BB%BB%E4%BD%95%E8%AE%BE%E7%BD%AE%EF%BC%9F.png)
我一直在用 Ubuntu 22.04 Desktop 设置一台新机器。由于我是 IT 团队的一员,我一直利用这个机会来拓展我对在工作环境中配置 Ubuntu 的知识,并弄清楚如何正确配置 Ubuntu,以防组织中的其他研究人员/工程师想要切换到 Ubuntu。
我试图正确完成的一个方面是使用 Active Directory 对用户进行身份验证。
我已经可以使用我的 AD 凭据登录,但之后我似乎无法进一步配置我的设置。
设置
我设置机器的程序是:
- 安装 Ubuntu 22.04,并创建本地管理员用户(
admin
) - 登录到
admin
。 - 安装更新。
- 为 SSSD 安装与 AD 相关的东西。
sudo apt install sssd-ad sssd-tools realmd adcli adsys
- 加入域。
sudo realm -v join -U [MY-AD-ADMIN] organization.org
- 对自动生成的进行一些调整
/etc/sssd/sssd.conf
,最终结果是......[nss] allowed_shells = /bin/sh,/bin/csh,/bin/bash,/bin/ksh,/bin/fish #debug_level = 0x0200 [sssd] services = nss, pam, autofs config_file_version = 2 domains = organization.org default_domain_suffix = organization.org full_name_format = %1$s #debug_level = 0x0200 [domain/organization.org] ad_domain = organization.org use_fully_qualified_names = True realmd_tags = joined-with-adcli manages-system krb5_realm = ORGANIZATION.ORG krb5_store_password_if_offline = True cache_credentials = True ldap_id_mapping = False id_provider = ad access_provider = ad pwd_expiration_warning = 0 default_shell = /bin/bash override_homedir = /home/%u fallback_homedir = /home/%u@%d debug_level = 0x0400
- 我将其设置
default_domain_suffix
为您看到的值,这样我就可以登录,ad-username
而不必输入[email protected]
。 - 我将
full_name_format
和设置override_homedir
为您看到的值,这样当我使用我的 AD 用户登录时,主目录和文件所有权也只有ad-username
而不是[email protected]
。
- 我将其设置
使用我的用户设置完所有这些admin
后,我注销然后使用我的 AD 凭据重新登录。在登录过程完成时,我看到一条消息,提示我的主目录正在创建,用户设置已应用,我以为一切都很好,直到我真正去更改设置。
问题
以 身份登录后ad-username
,我打开了“设置”,然后开始进行一些操作,例如更改桌面背景、窗口外观/颜色、Dock 设置、收藏的应用程序、通知、电源设置等……
例外情况似乎是,我可以将显示器的缩放比例从 200% 更改为 100%,并且如果我注销并重新登录,该比例仍会保留。
我可以与“分数缩放”滑块交互,但“缩放”设置不会更改为下拉菜单,滑块会恢复为离开如果我导航到“设置”的其他部分。
我也无法启用“夜灯”设置。
基本上,设置中的任何内容都无法更改,或者 GUI显示它发生了变化,但当我离开时它就恢复了变化。
我将非常感激任何关于如何寻找根本原因的建议。
- 我的机器是否尝试将用户设置保存回 AD 服务器?
- 我是不是忘记带什么东西了
sssd.conf
? - Ubuntu 中是否存在某些东西阻止我的 AD 用户更改任何设置?
答案1
这不是一个回答,但我确实解决了我的问题......
我确实希望有人能解释为什么事情不起作用。
无论如何,解决!
解决方案
我创建了一个新sssd.conf
文件,该文件使用 LDAP 而不是 AD 选项。配置文件的[nss]
和[sssd]
部分保持不变,而[domain/XXXX]
部分则重新制作如下。
[domain/organization.org]
use_fully_qualified_names = True
realmd_tags = joined-with-adcli manages-system
krb5_realm = ORGANIZATION.ORG
krb5_store_password_if_offline = True
ldap_uri = ldap://ldap.organization.org:389/
ldap_id_use_start_tls = False
ldap_tls_reqcert = never
ldap_tls_cacertdir = /etc/openldap/cacerts
ldap_schema = ad
ldap_default_bind_dn = CN=ldap_sssd,OU=SpecialUsers,DC=organization,DC=org
ldap_default_authtok_type = password
ldap_default_authtok = MySecretPassword!SSHHHHHH
ldap_search_base = OU=AllUsers,DC=organization,DC=org
ldap_access_order = expire
ldap_account_expire_policy = ad
ldap_force_upper_case_realm = true
ldap_id_mapping = False
id_provider = ldap
autofs_provider = ldap
cache_credentials = True
pwd_expiration_warning = 0
default_shell = /bin/bash
override_homedir = /home/%u
fallback_homedir = /home/%u@%d
debug_level = 0x0400
答案2
我已经通过停止和禁用 systemd-resolved 服务并在 /etc/resolv.conf 中添加域控制器 IP 作为名称服务器解决了我的问题。