Fedora Plasma版如何降低SATA硬盘挂载/写入的权限要求?
Fedora Plasma版如何降低SATA硬盘挂载/写入的权限要求?
嘿,我太懂你这种被Fedora默认安全限制卡得头疼的感觉了!毕竟Ubuntu系对硬盘挂载的处理确实宽松不少,下面给你几个实用的解决办法,按需选就行:
先解决「能写入但愿意输密码」的简单需求
这个不用改系统配置文件,直接调Plasma的可视化设置就能搞定:
- 打开Plasma桌面的「系统设置」,找到「硬件」分类下的「存储设备」
- 切换到「可移动存储」标签页,找到「挂载选项」区域
- 把「挂载可移动介质时的权限」改成「当前用户拥有读写权限」,或者勾选「允许用户挂载可移动介质」下方的「允许写入」(不同版本选项表述可能略有差异,找类似的就行)
- 设置完之后,你挂载硬盘时还是会弹出输密码的提示,但挂载成功后就能正常读写了,不用折腾复杂的配置文件。
永久解决「免密码挂载+自动读写」(支持所有SATA硬盘)
如果你想彻底摆脱密码提示,同时让所有连接的SATA硬盘都能直接读写,推荐用Polkit或udev规则,比fstab更灵活(fstab需要每个盘单独配置UUID,太麻烦):
方法1:修改Polkit规则实现免密码挂载
Polkit是Fedora里管权限验证的工具,改个规则就能让管理员用户免密码挂载硬盘:
- 打开终端,新建一个Polkit规则文件:
sudo nano /etc/polkit-1/rules.d/50-mount-hdds.rules - 把下面的内容粘贴进去(允许wheel组的管理员免密码挂载所有文件系统):
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; } }); - 保存退出(按
Ctrl+O回车,再按Ctrl+X),然后重启Polkit服务生效:sudo systemctl restart polkit - 如果你想让某个普通用户也能免密码挂载,把
subject.isInGroup("wheel")改成subject.user == "你的用户名"就行,但不建议直接去掉这个条件,会大幅降低系统安全性。
方法2:用udev规则自动设置读写权限
如果挂载后还是遇到权限问题,可以用udev规则让所有SATA硬盘挂载后自动把权限交给当前用户:
- 新建udev规则文件:
sudo nano /etc/udev/rules.d/90-hdd-permissions.rules - 粘贴以下内容:
KERNEL=="sd[a-z][0-9]", SUBSYSTEM=="block", ENV{ID_BUS}=="ata", RUN+="/bin/sh -c 'chown -R $USER:$USER /media/$USER/*'" - 保存退出后,重载udev规则并触发生效:
sudo udevadm control --reload-rules && sudo udevadm trigger - 这个规则会自动识别所有SATA总线的硬盘分区,挂载后把
/media下对应的挂载目录权限改成当前用户所有,直接就能读写了。
补充:特定硬盘固定挂载(用fstab)
如果你有某个常用硬盘想固定挂载到某个目录,也可以用fstab,但需要先查UUID:
- 终端输入
blkid,找到目标硬盘分区的UUID(比如UUID=1234ABCD-1234-ABCD-1234-ABCDEF123456) - 编辑fstab文件:
sudo nano /etc/fstab - 添加一行(注意替换成你的UUID、挂载点和文件系统):
UUID=1234ABCD-1234-ABCD-1234-ABCDEF123456 /mnt/myhdd ext4 defaults,rw,user 0 0 - 这里
ext4换成你的硬盘文件系统(比如NTFS的话用ntfs-3g),/mnt/myhdd是你提前创建好的挂载点,user允许普通用户挂载,rw代表读写权限。
备注:内容来源于stack exchange,提问作者TheLabCat




