Nor*_*sey 5 linux mount debian-squeeze
我在新升级的 Debian Squeeze 上安装 iPod 时遇到问题。我怀疑要么是协议发生了变化,要么是我发现了一个错误,我不知道该向哪里报告。
我正在尝试安装 iPod,以便我有权读取和写入它。但我的努力落空了:
$ sudo mount -v -t vfat -o uid=32074,gid=6202 /dev/sde2 /mnt
/dev/sde2 on /mnt type vfat (rw,uid=32074,gid=6202)
$ ls -l /mnt
total 80
drwxr-xr-x 2 root root 16384 Jan 1 2000 Calendars
drwxr-xr-x 2 root root 16384 Jan 1 2000 Contacts
drwxr-xr-x 2 root root 16384 Jan 1 2000 Notes
drwxr-xr-x 3 root root 16384 Jun 23 2007 Photos
drwxr-xr-x 6 root root 16384 Jun 19 2007 iPod_Control
$ sudo umount /mnt
$ sudo mount -v -t vfat -o uid=nr,gid=nr /dev/sde2 /mnt
/dev/sde2 on /mnt type vfat (rw,uid=32074,gid=6202)
$ ls -l /mnt
total 80
drwxr-xr-x 2 root root 16384 Jan 1 2000 Calendars
drwxr-xr-x 2 root root 16384 Jan 1 2000 Contacts
drwxr-xr-x 2 root root 16384 Jan 1 2000 Notes
drwxr-xr-x 3 root root 16384 Jun 23 2007 Photos
drwxr-xr-x 6 root root 16384 Jun 19 2007 iPod_Control
Run Code Online (Sandbox Code Playgroud)
如您所见,我尝试了符号 ID 和数字 ID,但文件仍然由 root 拥有(并且只能由 root 写入)。
这些 ID 真的是我的;我从 1993 年就拥有 UID。
$ id
uid=32074(nr) gid=6202(nr) groups=6202(nr),0(root),2(bin),4(adm),...
Run Code Online (Sandbox Code Playgroud)
我在http://pastebin.com/Xue2u9FZ 上放了一个 strace ,mount(2) 调用看起来不错:
mount("/dev/sde2", "/mnt", "vfat", MS_MGC_VAL, "uid=32074,gid=6202") = 0
Run Code Online (Sandbox Code Playgroud)
最后,这是我的内核版本uname -a
:
Linux homedog 2.6.32-5-686 #1 SMP Mon Jun 13 04:13:06 UTC 2011 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
有谁知道如果
重新启动机器使问题消失。
我想我会留下这个问题,因为它似乎确实展示了如何在 Linux 上以 root 以外的所有权挂载 vfat 驱动器。但如果有人认为我应该删除这个问题,请告诉我。