可能重复:
允许特定用户读取/写入我的文件夹
我有一个文件夹,/home/oliver
它是我的用户的主目录oliver
。我将设置一个文件服务器,并希望用户apache
能够从此文件夹读取内容。
目前apache
用户根本看不到该文件夹。
执行此操作的命令是什么?我是 Linux 新手,因此不了解组等概念。
答案1
您有一个组 oliver,它是您主文件夹的当前组。您需要将 apache 添加到此组。usermod -a -G oliver apache
以 root 身份(可能使用sudo
)将 apache 用户添加到组 oliver。您需要重新启动 apache(或您的机器)以应用更改。
此后,您可以使用组权限控制权限。通常默认情况下不会向其他组成员授予写访问权限,因此您可能需要运行chmod -R g+w /home/oliver
。这会以递归方式 (-R) 为组 (g) 的其他成员添加写权限 (+w)。您拥有该文件夹,因此您不需要 sudo。
请记住,apache 可能不会在用户名 apache 下运行。它可能是www
、www-data
或 之类的东西webuser
。检查top
/ps
以查看它以什么身份运行,或者运行cat /etc/passwd
并查看哪个用户看起来像 apache 使用它。更具体的说明将需要您正在运行的发行版和版本。
答案2
如果您启用了 ACL,那么一种快捷方式就是为 Apache 设置 ACL,如下所示:
setfacl -m u:apache:r /home/oliver
欲了解更多详情man setfacl
和man getfacl
。