Linux

將伺服器帳戶提供給網站管理員

  • February 23, 2017

我為多個網站管理員創建了一個系統,用於儲存和服務他們的網站。他們有自己的 linux 帳戶和主目錄。它們的 public_html 文件夾通過ln -s命令連結到 webserver html 目錄/usr/share/nginx/html/,因此它們在 Internet 中可見。

但使用者可以查看其他使用者的主文件夾。我想阻止他們觀看不屬於他們的文件夾。

如何得到它?

這是使用者的權限資訊。

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$ 

我可以看到使用者abcsudo組的成員。這意味著(至少在 Ubuntu 系統上)該使用者能夠使用 sudo 執行命令(獲得 root 訪問權限)。

如果這適用於您所說的所有使用者,那麼您不能阻止他們訪問其他人的文件。使用者可以簡單地成為 root 並做他/她想做的任何事情。

如果我們跳過這一點,您需要設置每個文件/文件夾的權限,以便它只能由使用者讀取/寫入,並且只能由特定組讀取,例如www-data使 Web 伺服器能夠訪問它們(chmod 750文件夾和chmod 740文件)。

引用自:https://serverfault.com/questions/834454