将服务器帐户提供给网站管理员

将服务器帐户提供给网站管理员

我为多个网站管理员创建了一个系统,用于存储和服务他们的网站。他们有自己的 Linux 帐户和主目录。他们的 public_html 文件夹通过命令链接ln -s到网络服务器 html 目录/usr/share/nginx/html/,因此它们在互联网上可见。

但用户可以查看其他用户的主文件夹。我想阻止他们查看不属于他们的文件夹。

如何获取?

这是用户的权限信息。

abc@localhost:/home/gameboy$ sudo namei -mo /home/abc/public_html/info.php 
[sudo] password for abc: 
f: /home/abc/public_html/info.php
 drwxr-xr-x root root /
 drwxr-xr-x root root home
 drwxr-xr-x abc  abc  abc
 drwxr-xr-x abc  abc  public_html
 -rw-r--r-- abc  abc  info.php
abc@localhost:/home/gameboy$ id abc
uid=1002(abc) gid=1002(abc) grupy=1002(abc),27(sudo)
abc@localhost:/home/gameboy$ 

答案1

我可以看到该用户abc是该组的成员sudo。这意味着(至少在 Ubuntu 系统上)该用户能够使用 sudo 执行命令(获得 root 访问权限)。

如果这适用于您所说的所有用户,那么您就无法阻止他们访问其他人的文件。用户可以简单地成为 root 并执行他/她想做的任何事情。

如果我们跳过这一点,则需要设置每个文件/文件夹权限,以便只有用户可读/写,并且只有特定组可读,以便www-data允许 Web 服务器访问它们(chmod 750对于文件夹和chmod 740文件)。

相关内容