Gee*_*982 36 filesystem permissions usb-drive fstab mount
我知道有类似的问题,但我遇到了一些我无法克服的特定问题。
我有:
/dev/sdb1和/dev/sdb2。 sdb1是 NTFS,我不需要它。我需要sdb2哪个是fat32。我想要:
最终我需要一个永久安装/dev/sdb2到/home/storage用户的访问权限(rw)media。
我面临的问题:
1) 从命令行使用手动挂载。
如果我只是使用
server# sudo mount /dev/sdb2 /home/storage
Run Code Online (Sandbox Code Playgroud)
它挂载但/home/storage接收 root 作为所有者和组并且不允许media用户在那里写入。
如果我在没有用户身份的mount情况下使用命令- 我是不允许的。说只有root才能使用mount。sudomedia
如果我使用mount选项:server# sudo mount /dev/sdb2 /home/storage -o umask=000我得到了我需要的东西。当然有点过头了,因为存储文件夹对每个人都是可写的。但是 - 这是手动安装的 - 现在我需要在每次重新启动时重新安装它。
2)重新启动时重新安装 - 使用 fstab
所以我想如果我每次重新启动时都fstab用来挂载这个分区(/dev/sdb2),我会没事的。fstab我添加的行:
UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0
得到了 uuid blkid。auto我更改了几次fs 类型......也尝试vfat过,但是在使用消息(从日志中获取)处理 fstab (如我所想)时,ubuntu 总是在重新启动时停止:
fsck from util-linux 2.20.1
/dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks
mount: unknown filesystem type 'static'
mountall: mount /etc/fstab: [772] terminated with status 32
mountall: Filesystem could not be mounted: /etc/fstab:
Skipping /etc/fstab: at user request
而且 -sudo mount -a从来没有真正做任何事情。
我究竟做错了什么?我确实怀疑我搞砸了一些事情:)
更新:
看起来 - fstab 应该只安装静态驱动器,而不是任何类型的 USB 东西。我很困惑,然后这如何与所有在网上发布他们的成功故事的人一起工作......
但是..如果这是不可能的 - 我想知道如何在每次重新启动后重新安装我的 USB ......如果不是使用 fstab - 比如何?:)
小智 38
您的问题似乎与您设置的权限有关。FAT / FAT32 格式的驱动器不支持文件权限。所有内容的权限取决于驱动器的安装方式。当您将权限设置为打开时,它会在您
server# sudo mount /dev/sdb2 /home/storage -o umask=000
Run Code Online (Sandbox Code Playgroud)
至于它不是在重启时自动挂载
UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0
Run Code Online (Sandbox Code Playgroud)
当系统启动并解析 /etc/fstab 文件时,“noauto”使得它不会自动挂载。删除该选项,它将在启动时挂载。您可以在挂载点上设置权限,chmod或者在 /etc/fstab 中指定它们。
如果需要media用户访问,可以设置权限为764,并加入安全组。Root 始终可以访问所有内容。
有关正确文件权限的一些示例,请参阅http://www.linux.org/threads/file-permissions-chmod.4094/
顺便说一句, bodhi.zazen 提出了一个很好的观点 你有什么理由需要使用 FAT 吗?如果没有,我会备份数据并使用 linux 本机文件系统。然后,您可以设置所有权和权限。
注意:正如下面的评论中提到的,使用 0777 权限时要小心:这意味着机器上的任何人或任何脚本都可以写入驱动器。考虑到这一点,这有时可能是一个有用的解决方法:
你也可以运行
sudo chmod 0777 /home/storage
Run Code Online (Sandbox Code Playgroud)
由于FAT驱动器没有权限,linux将挂载点的权限应用到整个驱动器。