我有一个mountpoint / mnt / v1和一个用户bak在组bak中.我这样做了:
sudo chown bak:bak /mnt/v1 sudo chmod 775 /mnt/v1
现在我想将带有分区/ dev / sdb1的外部fat32驱动器挂载到此目录.我收到消息“只有root可以做到”,所以我发现我需要更改fstab并添加以下行:
/dev/sdb1 /mnt/v1 vfat noauto,user 0 2
但是当我像这样挂载时,我仍然得到令人讨厌的消息“只有root可以做到这一点”:
bak$mount -t vfat /dev/sdb1 /mnt/v1
但是当我以root身份挂载时,整个驱动器都获得了root权限,这是我不想要的.
是否需要一些必要的操作才能将新的fstab条目读入内核?我怎样才能实现我想要的目标?
解决方法
当您安装vfat分区时,您可以传递一个uid和gid
option来设置文件系统将拥有的userid和groupid.您还可以设置文件和目录权限掩码.如果文件系统将被多个人使用,请考虑创建一个组并将自己添加为成员.
你的fstab看起来应该是这样的.
/dev/sdb1 /mnt/v1 vfat noauto,user,uid=blah,gid=blah 0 2
你的mount命令看起来像这样.
mount -t vfat /dev/sdb1 /mnt/v1 -o uid=blah,gid=blah
您可能还想查看安装pmount软件包,以便用户轻松安装文件系统.
回答评论中的问题.
1) is the fstab necessary also when I
use the mount command?
如果您希望用户能够在不使用sudo的情况下挂载命令,那么是.
2) do I have to be root for the mount
command you gave me?
您可以从fstab中删除noauto,文件系统将在引导时挂载.或者作为普通用户,他们可以使用mount / mnt / v1等命令进行安装.
3) How do the changes in fstab become
active?