我在不同的机器上运行 Debian(Debian Buster,所有机器上的安装相同)。我正在使用内部和外部硬盘。有些磁盘已加密,有些则没有。
当我挂载磁盘时,有些机器会要求我输入挂载磁盘的用户密码(Sudoer帐户)。其他机器要求我提供 root/管理员密码(即使我使用的是 sudoer 帐户)。甚至一台机器也要求我提供另一个 sudoer 帐户的密码(链接)。有些机器挂载磁盘时不要求输入密码(仅要求加密磁盘的解密密码)。
决定使用哪个帐户密码的配置文件在哪里?
GUI 中的挂载由UDisks完成,它是一个以 root 身份运行的守护进程,并使用polkit来决定谁可以挂载(或执行其他操作,如解锁加密设备)块设备。某些安装操作可以由活动会话中的任何用户完成,有些则需要管理员权限。例如,UDisks 允许“普通”用户安装可移动设备,但需要管理员安装不可移动(内部)设备。
polkit中的管理员并不意味着可以使用的用户sudo,polkit不会检查/etc/sudoers,要成为管理员,用户必须属于特定组。它通常是授予 的同一组sudo,但如果您手动将用户添加到 sudoers,则这不起作用。
在 Fedora 中,管理员被定义为wheel组中的用户,您可以在 polkit 手册页或以下位置找到它/etc/polkit-1/rules.d/50-default.rules:
将管理用户定义为wheel组中的用户:
Run Code Online (Sandbox Code Playgroud)polkit.addAdminRule(function(action, subject) { return ["unix-group:wheel"]; });
如果您不是管理员并且请求特权操作(例如安装不可移动驱动器),polkit 代理将要求您输入另一个管理员用户的密码。例如,KDE 代理会要求您选择一个用户,但 IIRC Xfce 代理只会为您选择一个用户并询问他的密码。默认行为取决于您使用的代理。有趣的是,即使您尝试从终端使用不同的管理员帐户,polkit 代理也会优先选择活动会话中的用户——运行时sudo -u <user> udisksctl unlock -b /dev/sda1将要求输入在 GUI 会话中登录的用户的密码。
太长了;博士
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |