使用我的 AD 凭据登录后,为什么我无法更改任何设置?

使用我的 AD 凭据登录后,为什么我无法更改任何设置?

我一直在用 Ubuntu 22.04 Desktop 设置一台新机器。由于我是 IT 团队的一员,我一直利用这个机会来拓展我对在工作环境中配置 Ubuntu 的知识,并弄清楚如何正确配置 Ubuntu,以防组织中的其他研究人员/工程师想要切换到 Ubuntu。

我试图正确完成的一个方面是使用 Active Directory 对用户进行身份验证。
我已经可以使用我的 AD 凭据登录,但之后我似乎无法进一步配置我的设置。

设置

我设置机器的程序是:

  1. 安装 Ubuntu 22.04,并创建本地管理员用户(admin
  2. 登录到admin
  3. 安装更新。
  4. 为 SSSD 安装与 AD 相关的东西。
    sudo apt install sssd-ad sssd-tools realmd adcli adsys
    
  5. 加入域。
    sudo realm -v join -U [MY-AD-ADMIN] organization.org
    
  6. 对自动生成的进行一些调整/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 作为名称服务器解决了我的问题。

相关内容