我正在尝试通过在 thunar 中单击它们或运行脚本来安装硬盘上的某些分区udisksctl mount -b /dev/sdb6 &
,但我找不到不出现密码提示的方法。
我在群组中。一开始<myusername> wheel users
我并不在该群组中,因此我将自己添加到群组中,以尝试让其正常工作。users
我的 fstab 如下所示:
#
# /etc/fstab
# Created by anaconda on Sun Mar 12 19:43:55 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/luks-d7a09ab1-cfa0-4910-ad28-041248fd55ed / ext4 defaults,x-systemd.device-timeout=0 1 1
UUID=d713df23-90c8-4ed3-9246-9467be868d5d /boot ext2 defaults 1 2
/dev/sdb6 /run/media/username/shared/ vfat noauto,user,exec,rw,async,atime 0 0
/dev/sdb12 /run/media/username/extra/ ext4 noauto,user,exec,rw,async,atime 0 0
实际上,这样做的目的是在登录时安装这两个分区而不增加启动时间(它们是媒体分区),所以如果有办法在后台做到这一点那就更好了。
答案1
据我所知,udisks 需要一个 policykit 规则来允许未经身份验证的用户挂载磁盘。作为此页面建议,只需创建一个/etc/polkit-1/rules.d/10-udisks2.rules
包含以下内容的文件:
// See the polkit(8) man page for more information
// about configuring polkit.
// Allow udisks2 to mount devices without authentication
// for users in the "wheel" group.
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" ||
action.id == "org.freedesktop.udisks2.filesystem-mount") &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
答案2
pkaction
如果您的版本为0.105
或更低版本,Andrew M 的答案将不起作用。
要检查pkaction
版本:
pkaction --version
pkaction 版本 0.105
如果pkaction
版本为0.105
或更低,则创建规则/etc/polkit-1/rules.d/10-udisks2.rules
将不起作用。
对于或更低pkaction
版本0.105
(尚未测试过低于 的版本),请创建包含以下内容的0.105
文件:/etc/polkit-1/localauthority/50-local.d/50-udisks.pkla
[udisks]
Identity=unix-group:sudo
Action=org.freedesktop.udisks2.filesystem-mount-system
ResultAny=yes
ResultInactive=no
ResultActive=yes
这允许sudo
组中的任何人无需身份验证即可使用 udisks2 挂载分区。
Forrest Voight 的答案和此答案之间的区别在于,虽然两者都有效,但此方法不允许对所有操作进行统一的无密码身份验证。无密码身份验证仅在挂载分区时启用。
答案3
我可以使用以下设置向 udisk 应用权限。
/etc/polkit-1/localauthority/50-local.d/50-udisks.pkla
[udisks]
Identity=unix-group:users
Action=org.freedesktop.udisks*
ResultAny=yes
ResultInactive=no
ResultActive=yes
参考:https://mxlinux.org/wiki/system/mount-internal-partition-without-using-root-password/
答案4
Andrew M. 的答案适用于较新版本的 Ubuntu,但对于 Ubuntu 17.04 或更低版本,PolicyKit 配置的工作方式不同。
/etc/polkit-1/localauthority/50-local.d/99-allow-sudo-group-to-do-anything-without-password.pkla
使用下列内容进行创建:
[AllowSudoGroupToDoAnythingWithoutPassword]
Identity=unix-group:sudo
Action=*
ResultAny=yes
允许群组内的用户sudo
进行全面的无密码身份验证。