LAMP 設置 + FTP - 使用者權限問題
對於 uber noobish 問題,我很抱歉,我是 linux 新手,正在嘗試為即將到來的我的小項目學習和實踐安全的 LAMP 管理。
我已經安裝了 vsftpd 但無法按照我想要的方式設置權限。似乎 /var/www 中的文件必須由使用者 www-data 擁有(預設在 ubuntu 上),因此 apache 可以在那裡讀寫,但我想將文件直接上傳到 /var/www 並能夠對其進行編輯使用 Windows 框中的記事本 ++ 進行 FTP。現在,我無法使用使用者 www-data 訪問 FTP,因為我不知道密碼,所以我創建了新使用者 webmaster 但由於所有者不同,apache 無法訪問文件。在我的憤怒中,我試圖設置匿名 FTP 訪問只是為了讓它工作,所以在 vsftpd.conf 中我允許匿名登錄和文件創建,並將其設置為由任何人擁有的新上傳,但是我不能上傳任何東西一點也不。
那麼我怎樣才能使這項工作呢?我希望 /var/www 中的文件是安全的,只能由系統內部的 apache 和 ftp 守護程序訪問。我現在說的是不安全的 FTP,以後會嘗試學習 FTPS 或 SFTP。
我在生產伺服器上的想法是通過 SSH 登錄,啟用 FTP(S),束文件,禁用 FTP,註銷。這就是它在現實世界中的做法嗎?
感謝您的回答。
參考 VSFTPD 手冊頁 conf ( http://vsftpd.beasts.org/vsftpd_conf.html ),在您的 vsftpd.conf 文件中,有一個名為local_umask的配置設置。
預設情況下,它是 077,這是產生您的 -rw——- 權限的原因。要為每個文件授予 -rw-r–r– 權限,請將local_umask設置為 022。
更改 conf 文件後,請記住重新啟動 vsftpd 伺服器。
請不要允許匿名連接上傳任何文件。它將用於傳播病毒和色情內容。
Apache 只需要讀取它要服務的目錄(在大多數配置中)。
chown -R john:www-data web-data-folder 和 chmod 755 web-data-folder 將授予 john 對目錄及其中每個文件/文件夾的寫入權限,同時保留對 apache 的讀取和執行(文件夾列表)權限和系統上的任何其他使用者。如果您偏執,可以使用 chmod 750 代替。
現在我基本上已經給了你命令:請閱讀 chmod 和 chown 如何協同工作。每個 unix/linux/bsd-installation 都為它們安裝了手冊頁。