我正在尝试挂载VFAT
USB 闪存驱动器上的文件系统,以便我可以操作驱动器内容。
12:10 boffi@debian:~ $ lsblk | grep sdc
sdc 8:32 1 7.5G 0 disk
└─sdc1 8:33 1 7.5G 0 part
12:10 boffi@debian:~ $ grep sdc /etc/fstab
/dev/sdc /home/boffi/key vfat noauto,rw,user 0 0
/dev/sdc1 /home/boffi/key vfat noauto,rw,user 0 0
12:11 boffi@debian:~ $ mount /dev/sdc1 /home/boffi/key
mount: /home/boffi/key: must be superuser to use mount.
dmesg(1) may have more information after failed mount system call.
12:11 boffi@debian:~ $
如果我使用sudo
一切都很好,除了我没有内容的写作权......
12:17 boffi@debian:~ $ sudo mount /dev/sdc1 /home/boffi/key
[sudo] password for boffi: ***************
12:17 boffi@debian:~ $ ls -l key | head -3
total 27600
drwxr-xr-x 6 root root 16384 Oct 6 2013 00_roba_dal_mac/
drwxr-xr-x 4 root root 16384 Oct 12 2013 00_shenker/
12:17 boffi@debian:~ $
当然我做错了,你能帮我吗?
答案1
免责声明
以下内容盗自询问Ubuntu答案认为作者好心地给我看了一个评论对于我的问题。
如果我的回答对你有用,记得点赞哦苏多杜斯,不是我,可能会投票给原来的询问Ubuntu答案。
回答
据我了解,您需要root
特权才能执行该mount
命令,因此您必须以root
或使用身份登录sudo
。
但是,有可能实现所请求的行为,因为向mount
命令传递适当的选项,您可以拥有适当的所有者、组和权限。
您可以使用数字用户和组 ID 指定分配给已安装驱动器内容的用户和组,还可以使用合适的创建掩码指定权限,如下所示:
$ sudo mount -o rw,user,uid=1000,gid=1000,umask=007,exec /dev/sdc1 /home/boffi/key
确定您的 UID 和 GID
$ grep `whoami` /etc/passwd | mawk -F: '{print $3, $4}'
1000 1000
因为我有这一行/etc/fstab
$ grep /sdc1 /etc/fstab
/dev/sdc1 /home/boffi/key vfat noauto,rw,user 0 0
我可以从命令中省略安装点...
$ sudo mount -o rw,user,uid=1000,gid=1000,umask=007,exec /dev/sdc1
只需检查所执行命令的正确性。
$ ls -l key | head -3
total 27600
drwxrwx--- 6 boffi boffi 16384 Oct 6 2013 00_roba_dal_mac/
drwxrwx--- 4 boffi boffi 16384 Oct 12 2013 00_shenker/
$
正如您所看到的,所有者和组是正确的,并且权限是umask
在挂载操作期间使用的指定的权限。
答案2
您的窗口管理器应该会自动安装它。如果没有,您可以随时将类似的内容添加到/etc/fstab
- /dev/sdc1 /media vfat,iso9660,udf user,defaults,noauto 0 0
。有关详细信息,请查看 fstab 手册页。您只需要mount /media
以任何用户身份运行,该用户将“拥有”它并拥有完全权限。请记住创建media
或类似的目录。