我在 Ubuntu Server 14.04 上运行Apache2 + userdir
。用户通过AD进行身份验证,可以通过SSH成功登录此服务器。每个用户$HOME
都有700
个权限,禁止用户更改和阅读其他用户文件。
目录/home/public_html
归Apache(www-data:www-data
)所有并拥有权限775
,因此每个用户(组www-data
的成员)都可以在{{1}中创建自己的子目录在他/她的用户名下,在他/她/home/public_html
中创建它的符号链接。以下是用户名为$HOME
的示例用户的示例:
jdoe43
是$ HOME目录(它有权限700)/home/Domain/jdoe43
是用户/home/public_html/jdoe43
的{{1}}目录,其符号链接到public_html
jdoe43
指令设置为/home/Domain/jdoe43/public_html
。 UserDir
的其余部分默认为Ubuntu安装,下面列出了以供参考:
/home/public_html
我期待找到一组适当的权限以允许
userdir.conf
<IfModule mod_userdir.c>
UserDir /home/public_html
UserDir disabled root
<Directory /home/public_html/*>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Require all granted
</Limit>
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
</Directory>
</IfModule>
目录同时禁止
/home/public_html/*
public_html
目录的内容
我尝试使用不同权限集的所有权限都是由于Apache无权访问用户public_html
或用户至少具有对其他用户/home/public_html/
或{{的读取权限1}}。
我发现有几篇帖子建议使用 selinux 并通过权限将文件系统配置为拒绝访问其他用户的目录(就像我对{{1}所做的那样}通过将其设置为public_html
)并同时授予 Apache流程(通过$HOME
)访问public_html
及其所有子目录。我还发现了一些资源,说明最近版本的Ubuntu中的$HOME
被替换为700
,因此,由于我在这项技术方面的经验有限,我决定推迟任何实施的动作。 / p>
非常感谢任何建议/建议。谢谢。