Linux
Linux FTP/SSH 權限
我對如何正確設置權限並不是非常熟悉。目前我們 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 組的使用者將創建由另一個組擁有的文件,並且該組的其他成員可能無法訪問。