Linux

Linux FTP/SSH 權限

  • September 13, 2021

我對如何正確設置權限並不是非常熟悉。目前我們 sudo 伺服器上的所有內容,否則我們沒有權限。我剛剛啟動並執行了 FTP,但我無權在 wordpress 安裝中創建目錄。我注意到那裡的一切…

-rw-r--r-- 1 root root
drwxr-xr-x 7 root root

我知道我不應該能夠更改根文件,但為什麼根擁有一切?曾經在這裡設置所有這些的服務員已經走了。這是最好的方式還是我們應該有一個“webdev”組或其他什麼?

你肯定想要一個小組來做這個。我會為 FTP 訪問配置一個組。將使用者放入您要用於 FTP 使用者的組中,然後我建議如下(假設 FTP 組稱為 FTP,基本數據目錄為 /ftpdata - 根據需要更改這些):

chown -R nobody:ftp /ftpdata
find /ftpdata -type f -exec chmod 664 {} \;
find /ftpdata -type d -exec chmod 2775 {} \;

這就是你在做什麼…

chown -R nobody:ftp /ftpdata

對於/ftpdata 下的每個文件和目錄,這會將所有者設置為nobody,並將組設置為ftp。

find /ftpdata -type f -exec chmod 664 {} \;

此命令將 /ftpdata 下的每個文件設置為模式 664,即所有者和組可讀寫,其他所有人只讀。

find /ftpdata -type d -exec chmod 2775 {} \;

此命令將 /ftpdata 下的每個目錄設置為 2775,即所有者和組的讀寫和執行,以及世界的讀取執行,加上在任何這些目錄中創建的任何新文件都將歸 ftp 所有團體。

2775 中的 2 是“設置組 ID” - 每當在設置了該位的目錄中創建新文件時,它會使該文件的組與擁有該目錄的組相同。否則,主組不是 ftp 組的使用者將創建由另一個組擁有的文件,並且該組的其他成員可能無法訪問。

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