正如nc3b已经指出的,这由 PolicyKit 控制。磁盘策略位于:/usr/share/polkit-1/actions/org.freedesktop.udisks.policy
并且可以调整。
用 root 权限打开它并搜索行:<action id="org.freedesktop.udisks.change">
,或者注释掉整个块:<!-- [udisks.change-block] -->
,或者设置<allow_active>
为“否”,保存并退出。
检查它是否被禁用:
$ pkaction --verbose --action-id org.freedesktop.udisks.change
No action with action id org.freedesktop.udisks.change
Run Code Online (Sandbox Code Playgroud)
或者,如果您已设置no
:
...
implicit active: no
Run Code Online (Sandbox Code Playgroud)
好的,下次您尝试将设备格式化为非 root 用户时,无论是通过上下文菜单还是通过“磁盘工具”,都会出现一条错误消息并禁止它。此步骤仍将允许非 root 用户读/写设备。
如果您仍然希望允许格式化设备,但具有更高的安全级别,您可以强制 PolicyKit 每次都要求输入密码。
打开相同的文件并转到相同的部分,将 'yes' 替换为 'auth_admin' allow_active
:
<allow_active>auth_admin</allow_active>
Run Code Online (Sandbox Code Playgroud)
查看:
$ pkaction --verbose --action-id org.freedesktop.udisks.change
...
implicit active: auth_admin
Run Code Online (Sandbox Code Playgroud)
优秀!
注意:我只在 Ubuntu 上测试过,但 Fedora 也使用 PolicyKit,所以先用虚拟驱动器试试。