当我在上一台 Ubuntu 机器上安装 Jammy 时,我在创建初始用户帐户时遇到了 typeO。假设我创建了“jod”,但想创建“joe”。
因此,当机器设置完成后,我使用“jod”用户一段时间,但过了一段时间,这让我很烦。所以我创建了新用户“joe”,将 joe 添加到与 jod 相同的组中,并将 /home/jod 的内容移动到 /home/joe
由于这很有效,我删除了用户 jod。
所以我现在很开心?
其实也不是完全开心,因为 jod 是第一个用户,所以现在系统在 GUI 的“特权访问”方面有点困惑。每当程序在 UI 中需要 root 权限时,我都必须输入我在设置后手动设置的用户“root”的密码。通常,该密码是用户“jod”的密码,因为他是系统的第一个定义管理员 (sudoer)。但由于“jod”不存在,因此它会返回到“root”。
所以问题是,每当 GUI 应用程序需要“特权访问”时,我需要做什么才能被要求输入“joe”用户密码?
由于我将“joe”添加到“sudo”和“admin”组,因此我可以在终端上正常使用 sudo,因此问题只是 Gnome 中的图形应用程序。
非常感谢你的帮助
Imker
顺便说一句:我想知道如果用户“root”没有设置密码(因为这是 Ubuntu 的默认密码),那么是否不会要求我输入任何密码?
答案1
由于这个问题没有答案,所以我做了一些研究并弄清楚了它是如何工作的。
- 如果 GUI 应用程序需要“特权访问”,它会与波尔基特
- Plokit 将配置存储在
/etc/polkit-1/localauthority.conf.d/
因此我仔细阅读了系统中的配置设置,它对我来说看起来非常合理
/etc/polkit-1/localauthority.conf.d/50-localauthority.conf
告诉
[Configuration]
AdminIdentities=unix-user:0
并etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
告诉
[Configuration]
AdminIdentities=unix-group:sudo;unix-group:admin
就是这样。因此,既然51-ubuntu-admin.conf
应该覆盖50-localauthority.conf
成员admin
和sudo
组,那么在需要“特权访问”时应该询问
但是我的用户joe
是成员sudo
,并且我被要求提供root
用户,就像在配置中一样50-localauthority.conf
所以我不明白为什么它没有按照应有的方式运行。
但是好吧,我不关心并创建我自己的覆盖60-local-admin.conf
并使其看起来像:
[Configuration]
AdminIdentities=unix-user:joe
好了,成功了。joe
从那时起,每当需要“特权访问”时,系统都会要求用户输入密码。
我现在有三个文件,最后一个是最重要的。
也许其他人也可以使用它
再见