Fedora加入AD域后Gnome登录界面不显示域用户如何解决
解决方案
GDM(GNOME 登录管理器)默认不会主动拉取 Active Directory 域用户列表,仅会展示本地用户、以及已经在本地有登录缓存的用户,通过 realm 加入域后默认配置不会自动将域用户加入展示列表,按以下步骤配置即可实现目标效果。
步骤1:配置SSSD缓存域用户
SSSD是realm加域后默认使用的域身份认证服务,需要先让本地能正常缓存目标域用户信息:
- 编辑SSSD主配置文件:
sudo nano /etc/sssd/sssd.conf - 找到配置文件中
[domain/你的AD域名]对应的配置段,修改/新增以下参数:# 若需要展示多个域用户可开启全量枚举,单用户场景后续可换定向缓存方案 enumerate = true fallback_homedir = /home/%u@%d use_fully_qualified_names = true - 修正配置文件权限(SSSD强制要求配置文件权限为600,否则服务启动失败):
sudo chmod 600 /etc/sssd/sssd.conf - 重启SSSD服务拉取域用户缓存:
sudo systemctl restart sssd - 验证缓存是否生效,执行以下命令能返回用户UID、GID、所属组信息即为正常:
id myuser@mydomain
步骤2:配置GDM放开域用户展示限制
- 先确认GDM的dconf配置profile存在,不存在则新建:
写入以下内容后保存:sudo nano /etc/dconf/profile/gdmuser-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults - 新建GDM登录界面的配置目录:
sudo mkdir -p /etc/dconf/db/gdm.d/ - 新建用户展示规则配置文件:
写入以下内容:sudo nano /etc/dconf/db/gdm.d/00-domain-user-show[org/gnome/login-screen] disable-user-list=false # 若之前配置过隐藏用户规则,确保域用户不在排除列表内 - 编译dconf配置让规则生效:
sudo dconf update
步骤3(可选):配置域用户家目录自动创建
避免第一次登录域用户时因为家目录不存在报错:
- 安装自动创建家目录组件:
sudo dnf install oddjob-mkhomedir -y - 启动并设置开机自启:
sudo systemctl enable --now oddjobd
步骤4:重启GDM生效
注意:重启GDM会关闭当前所有打开的图形会话,请提前保存未完成的工作:
sudo systemctl restart gdm
大域环境优化方案(域用户总数超过50人时推荐)
如果你的AD域内用户数量较多,开启enumerate = true全量枚举会拖慢SSSD响应速度、拉长GDM登录界面加载时间,可以改用定向展示方案:
- 回到
/etc/sssd/sssd.conf,把enumerate = true改成enumerate = false,保存后重启sssd服务 - 手动触发单个目标用户的缓存:
sss_cache -E id myuser@mydomain - 编辑之前创建的
/etc/dconf/db/gdm.d/00-domain-user-show文件,在[org/gnome/login-screen]段下新增一行指定要展示的用户:include-user-list=['myuser@mydomain'] - 重新执行
sudo dconf update && sudo systemctl restart gdm即可,此时登录界面只会展示你指定的域用户和本地用户,不会拉取全量域用户列表。
内容的提问来源于stack exchange,提问作者theerrormagnet
相关产品推荐
相关产品推荐

