在运行Apache2 + userdir的Ubuntu服务器14.04上保护$ HOME和public_html

时间:2015-05-10 02:10:36

标签: apache ubuntu-14.04 user-permissions selinux public-html

我在 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_htmlUserDir的其余部分默认为Ubuntu安装,下面列出了以供参考:

/home/public_html

我期待找到一组适当的权限以允许

  • Apache进程以访问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目录的内容
  • 用户查看/修改/home/public_html/*
  • 中其他用户的public_html目录的内容

我尝试使用不同权限集的所有权限都是由于Apache无权访问用户public_html或用户至少具有对其他用户/home/public_html/或{{的读取权限1}}。

我发现有几篇帖子建议使用 selinux 并通过权限将文件系统配置为拒绝访问其他用户的目录(就像我对{{1}所做的那样}通过将其设置为public_html)并同时授予 Apache流程(通过$HOME)访问public_html及其所有子目录。我还发现了一些资源,说明最近版本的Ubuntu中的$HOME被替换为700,因此,由于我在这项技术方面的经验有限,我决定推迟任何实施的动作。 / p>

非常感谢任何建议/建议。谢谢。

0 个答案:

没有答案