我有一個運行 ubuntu 12.04 的 VPS,託管大約 9 個站點,其中混合了 wordpress 和 joomla(最新版本)。
Apache 在 www-data 下運行,網站作為虛擬主機託管在 /var/www/{sites} 下
今天我禁用了 FTP(不安全)並將其替換為 SFTP。我已經進行了設置,以便每個站點/虛擬主機都有一個 chroot 的 SFTP 使用者。當您以SFTP 使用者身分登入時,您會被chroot 到/usr/local/chroot/{user} 中,在這個目錄中,我已經安裝了該使用者需要存取的特定虛擬主機(使用mount --bind / var/www/{subdomain} /usr/local/chroot/{用戶}/web)
SFTP 使用者已設定為只能使用 SFTP 而無法使用 SSH,其 shell 設定為 /sbin/false
我唯一的問題是使用者權限。這些網站以 www-data 的形式運行,因此當我在 joomla 中上傳某些內容時,該文件將以 www-data:www-data 所有權建立。但是,如果我使用 SFTP 上傳文件,則會將其上傳為 {user}:www-data。這可能會導致權限問題。
在這種情況下,處理文件所有權和權限的最佳方法是什麼?我設定的方式安全嗎?
答案1
如果您確定自己的安全設置,那麼簡單的方法是:在主資料夾上設定 suid 位元。但我不知道你會遇到什麼權限問題,因為該群組已經在 www-data 上設定了。