Ubuntu

vsFTPd 在 Ubuntu 上預設上傳的文件權限不起作用

  • May 14, 2020

我有一台執行Ubuntu 12.10 x64的伺服器,以及最新版本的 vsFTPd。

我的使用者 example.com 的主文件夾設置/var/www/example.com

我在裡面創建了一個 public_html 文件夾並給777了它權限,並刪除了主使用者文件夾的寫權限。一切正常,但是:

我通過 FTP(使用 SmartFTP)上傳的每個文件的 chmod 都為 0。

vsftpd.conf只有一行相關:

local_umask=022.

我試圖更改為:

file_open_mode=777
local_umask=002

所以我的文件會775在上傳後立即獲得。

但只有我上傳的文件夾獲得了775權限。

我上傳的文件得到1411 permissions

有人可以幫我解決這個問題嗎?

得到了我的答案:

由於 www-data 是負責 webserver 的使用者,而您的普通使用者負責 ftp 伺服器,因此您首先需要使它們成為同一組的成員:組 www-data。

創建自定義使用者:

useradd –d /var/www/asasd.com -g www-data -m yourusername 這樣主目錄將是*/var/www/asasd.com*並且您的使用者將在www-data組中。

在此之後,通過鍵入更改使用者密碼passwd

然後,您需要在您的使用者名主文件夾中創建一個public_html文件夾,因為 FTP 無法寫入主文件夾的根目錄,您必須創建一個子文件夾。

刪除您的使用者名文件夾的寫入權限 chmod a-w /var/www/asasd.com

然後,為子文件夾應用新權限:( chmod -R 775 /var/www/asasd.com/public_html 請注意,您必須使用 775 chmod,因為您需要組寫入權限,而不是使用者寫入權限,因為您希望整個組(ftp 和 www-data)都能夠寫入)然後,擁有www-data的文件夾 chown -R www-data:www-data /var/www/asasd.com/public_html

這樣,您必須能夠使用 FTP 並讓 Web 伺服器正常工作。

祝你好運!

有趣的是,這個資訊很難找到。人們不再分享知識了嗎?

我最終使用

file_open_mode=0777
local_umask=022

在 vsftpd.conf 上。問題是 FTP 使用者和 www-data 使用者都需要寫入權限,所以我必須將 www-data 和 ftpuser 加入 www-data 使用者組,並且 CHMOD -R 775 上的所有文件 /var/www - 這樣,使用 775 CHMOD,該組將具有讀取、寫入和執行權限。現在它工作得很好。

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