我在 Arch Linux 上运行 Apache 设置(Apache 以用户 http、组 http 的身份运行)。文档根目录位于 /srv/http 下。我已将我的用户 (ben) 添加到 http 组,并将 /srv/http 的所有权更改为 http:http。无论我如何尝试,当我将此目录的所有权更改为 http:http 时,我的用户 ben 都无法访问它。当尝试 cd 进入 /srv/http 时,我被拒绝访问。我甚至尝试在 /srv/http 上运行 chmod 777,但我仍然无法访问它。这里我是否遗漏了什么?
答案1
Ben 是两个或多个组的成员;默认情况下使用主要组。要选择“http”组成员身份以在 shell 会话期间写入文件,Ben 可以使用:
newgrp http
要将目录模式更改为组 http 的读写模式,以自动使用 http 组拥有文件,请在目录上设置“group-bit”。然后 Ben 也可以传输文件,它将自动处理:
chmod 2770 /srv/http
要以递归方式更改组所有权,请使用:
chmod -R g+rwx /srv/http