Eri*_*ric 11 linux usb mount debian-squeeze
我有一个 4GB 的 U 盘,我sudo cfdisk /dev/sdb使用sudo mkfs /dev/sdb1. 当我在 Debian Squeeze 上运行时,它当前设置为 ID 83with System 。Linuxsudo fdisk -l
我pmount用来挂载外部 USB 驱动器。所以做一个pmount /dev/sdb1挂载它,/media/usb0因为我有ff。线路输入/etc/fstab:
/dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
Run Code Online (Sandbox Code Playgroud)
发出pmount命令后,USB 被挂载到/media/usb0-- 做一个ls -l /media/usb0给我:
drwx------ 2 root root 16384 Mar 2 20:08 lost+found
Run Code Online (Sandbox Code Playgroud)
所以我开始我的业务并尝试将文件复制到,/media/usb0但我收到以下错误:
$ cp ~/foo.bar /media/usb0
cp: cannot create regular file `/media/usb0/foo.bar': Permission denied
Run Code Online (Sandbox Code Playgroud)
但是当我用 发出相同的cp命令时sudo,我可以复制文件。
为什么会发生这种情况?我尝试了我拥有的其他 USB 驱动器,并且可以在没有此错误的情况下写入它们。我格式化或重新分区 U 盘的方式有问题吗?
您使用ext*文件系统(ext2、ext3或ext4;我不记得默认值)格式化了 sdb1 分区。这是 Linux 系统上的默认文件系统,并使用Unix 文件权限来确定谁可以修改文件或目录。新的文件系统总是以根(/media/usb0在这种情况下)拥有的开始root:root,并且通常具有仅允许所有者修改的权限。
要亲自查看此内容,请挂载文件系统,然后运行ls -ld /media/usb0以查看当前所有权/权限。我的猜测是:
drwx------ 2 root root 16384 Mar 2 20:08 /media/usb0
Run Code Online (Sandbox Code Playgroud)
一个简单的解决方法是 a)chown将挂载的文件系统安装到您自己的 Linux 帐户,或 b) 授予每个人写权限chmod。
然而,最终,这不是一个好的解决方案,因为创建的文件将由您的 UID 拥有,而不是用户名;当 USB 驱动器连接到不同的系统时,这将很快导致帐户不匹配。假设您完全可以连接它,也就是说 – Windows 不支持 ext3没有额外的技巧,因此 NTFS ( mkfs.ntfs) 或 FAT32 ( mkfs.vfat) 将是文件系统的更好选择。
| 归档时间: |
|
| 查看次数: |
33992 次 |
| 最近记录: |