我正在运行 Kubuntu 22.04 LTS(又名 Jammy Jellyfish)的 Live ISO。我想做的事情很可能与 KDE 无关,所以人们可能会认为我正在运行 Ubuntu。
我正在尝试FAT32
为当前用户以读写模式安装分区。在此 Live ISO 上,将调用用户kubuntu
(ubuntu
在 Ubuntu 中)。显然,还有一个root
始终拥有所有权限。但我想让它对普通用户有用。
假设我在 shell 变量中有分区设备路径P
,在MP
.我尝试执行这样的命令
sudo mount $P $MP
然后当我打电话时
mount | grep $MP
我可以看到应用了这样的安装类型和选项(请注意fmask
和dmask
选项值):
type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
当我打电话时stat $MP | grep Uid:
我得到这个:
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
它完全符合人们在执行 mount 时所期望的结果,就像应用具有root
类似值的选项时一样。fmask=0022,dmask=0022
我试图找到有关如何使挂载的 FS 为普通用户工作的信息。所有建议都是关于uid
、gid
、umask
、fmask
以及dmask
如何使用它们。虽然我很满意,但fmask=0022,dmask=0022
我也决定尝试重置这些内容。所以我最终尝试了这个(添加冗余,以防万一):
sudo mount -o uid=$(id -u),gid=$(id -g),umask=0000,fmask=0000,dmask=0000 $P $MP
你猜怎么着?结果和我上面说的一模一样。这是
type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
同样的事情与stat $MP | grep Uid:
.它返回
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
我的用户没有写权限kubuntu
。
我检查了sudo dmesg | tail -n 2
并且cat /var/log/syslog | tail -n 2
.我通常在Alt+(SysRq/PrtScr, S)
执行上述操作之前按一下 ( sudo mount ...
)来触发“sysrq:紧急同步” 。这样我在日志中有一个“检查点”,它由 2 行文本片段sysrq: Emergency Sync
和Emergency Sync complete
.因此,像往常一样,我触发了“sysrq:紧急同步”,然后调用了sudo mount ...
。检查完两个日志后,我看到的只是与“sysrq:紧急同步”相关的两行。没有任何与mount
命令相关的内容可以解释为什么它忽略安装选项。
所以这里是问题:
- 为什么我提供的安装选项被忽略?
- 如何解决此类
mount
行为?