使 /var/www 仅可供 root 和 Web 服务器访问

使 /var/www 仅可供 root 和 Web 服务器访问

我是一名 Web 开发人员。我允许几个人通过 SSH 访问我的计算机。

我想确保他们无法访问我的文件/var/www/

那么,是否可以使这些文件仅对 Web 服务器可读,并授予 root 用户读/写权限?

答案1

我假设 Apache 用户名为www-data。如果您希望 中的文件/var/www/仅可由此用户读取,则需要授予其所有权:

sudo chown -R www-data /var/www/

现在您想www-data成为唯一可以实际读取/写入这些内容的用户:

sudo chmod -R 700 /var/www/

请注意,root无论权限如何,始终具有对任何文件的读/写访问权限。无论这种设置是否是个好主意——好吧,我宁愿将这些 SSH 用户 chroot 到他们的主文件夹。请参阅我可以创建一个只能访问特定目录的 SSH 用户吗?

答案2

取决于您的 Web 服务器的用户(通常是 www-data):

chown www-data /var/www
chmod -R 700 /var/www

这会将 www-data 用户设置为 /var/www 目录的所有者,并且只允许所有者访问该目录。

答案3

您可能希望将 root 或其他用户设为您的 Web 内容的所有者。这样可以防止 Web 服务器在有人通过脚本或其他入口点获得访问权限时覆盖内容。将root这些命令中的用户替换为您希望拥有内容的任何用户。

chown -R root:www-data /var/www
chmod 2750 /var/www

为了允许user(除 root 之外)用户维护内容,您需要将用户添加到 www-data 组。

adduser user www-data

某些 Web 应用程序可能有一些目录用于写入动态内容。若要允许访问,请将所有者更改为 www-data 或允许组写入。

相关内容