![更改 fstab 挂载的 vfat 分区的子目录的所有者/组](https://linux22.com/image/1374799/%E6%9B%B4%E6%94%B9%20fstab%20%E6%8C%82%E8%BD%BD%E7%9A%84%20vfat%20%E5%88%86%E5%8C%BA%E7%9A%84%E5%AD%90%E7%9B%AE%E5%BD%95%E7%9A%84%E6%89%80%E6%9C%89%E8%80%85%2F%E7%BB%84.png)
这很可能是一个重复的问题,但我目前似乎在形成搜索查询以找到答案时遇到困难。
我挂载了一个 vfat 分区,其中/data
包含我的所有媒体,即/data/books
、/data/documents
、/data/downloads
、/data/websites
等。websites
子目录 (软) 符号链接到 ,/var/www
以便我的 Apache2 安装使用该目录作为其默认目录DocumentRoot
。我的fstab
条目当前设置/data
为使用我的用户/用户组 ( uid=1000,gid=1000
) 挂载,这样我就可以自由地更改任何文件而无需进一步麻烦。
但是,我需要/data/websites
将目录挂载到www-data
用户 ( uid=33,gid=33
) 中,以便 Apache 和我的 Web 文档可以创建、修改和删除目录中的文件。我的用户是www-data
组 ( gid=33
) 的成员,因此我也可以更改目录中的文件。
chgrp
并且chown
是不可能的,因为它们对已挂载的 vfat 分区没有任何影响。我怎样才能/data/websites
使用不同的所有者/组 ( uid=33,gid=33
) 进行挂载,同时让挂载的其余部分归/data
我的用户所有 ( uid=1000,gid=1000
)?
答案1
由于 FAT 根本不支持文件系统权限的概念,更不用说 UNIX 兼容的权限了,Linux 会将文件系统中的每个文件挂载到相同的所有者和组所有者,如命令mount
或所指定的fstab
。
有几个选择:
不要使用 vfat 分区,使用 ext2 或 ext3(如果这是一部 Android 手机,并且使用 Cyanogenmod 植根,您可能能够将您的卡格式化为 ext2 或 ext3,如果您四处寻找操作方法)
这很复杂,但应该可以工作。
samba
如果尚未激活,请安装 - 根据要公开的文件夹和权限创建共享,然后使用mount -t cifs \\127.0.0.1\share
等安装它们。这会很混乱且有点复杂,但可以正常工作。