我一直在尝试使用 Ubuntu 20.04 构建企业桌面,但如果不禁用用户可配置的 dconf 设置,则无法让 gnome 从 system-db 读取 dconf 密钥和锁。
如果我将 /etc/profile 中的 DCONF_PROFILE 变量导出给用户,则 shell 将只加载用户数据库,并拒绝打开配置文件的 system-db 部分中设置的密钥。如果我将其设置为本地,它将只读取系统数据库,并阻止用户进行任何自定义。
我一直认为 dconf 允许 system-db 设置 shell 预设,然后允许用户更改未锁定的密钥,但我无法确定如何获得这种行为。
20.04 中是否发生了一些奇怪的事情,导致 dconf 行为发生变化?我觉得我完全遵循了 gnome 系统管理员指南,但结果并不像预期的那样。
答案1
我相信对于任何可能遇到与我相同问题的人来说,我已经找到了这个问题。
如果在文件创建时将 umask 设置为严格权限(我的是将新文件设置为 rw-------),dconf update
则会写入不可读的二进制文件,并且用户将无法读取数据库中的 dconf 密钥。
我已将 /etc/dconf/db 中的所有文件的脚本设置为 chmod 644,这样就解决了该问题。
希望这可以帮助。