为每个人或特定用户安装具有写入权限的 USB 驱动器

Gee*_*982 36 filesystem permissions usb-drive fstab mount

我知道有类似的问题,但我遇到了一些我无法克服的特定问题。

我有:

  • 硬盘分成两个分区。/dev/sdb1/dev/sdb2sdb1是 NTFS,我不需要它。我需要sdb2哪个是fat32。
  • Ubuntu 12.04.1 LTS(服务器)

我想要:

最终我需要一个永久安装/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 blkidauto我更改了几次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 本机文件系统。然后,您可以设置所有权和权限。

  • `-o umask=000` 是它!!谢谢! (4认同)

Zan*_*ane 5

注意:正如下面的评论中提到的,使用 0777 权限时要小心:这意味着机器上的任何人或任何脚本都可以写入驱动器。考虑到这一点,这有时可能是一个有用的解决方法:

你也可以运行

sudo chmod 0777 /home/storage
Run Code Online (Sandbox Code Playgroud)

由于FAT驱动器没有权限,linux将挂载点的权限应用到整个驱动器。

  • 永远不要为每个用户应用 R+W+X 权限.. 这将允许任何人或任何东西访问、执行、删除、修改存储及其内容...... (3认同)
  • 在大多数操作系统上,安装了 USB 驱动器,因此任何用户都可以修改内容。如果您是服务器管理员,而这可能是个问题,我就不必告诉您 0777 是什么意思。 (2认同)