Permissions

/var/www 的讀/寫權限?

  • October 13, 2016

我有一個執行的 Debian 8 伺服器,該伺服器/var/www由文件和子目錄擁有www-data並具有權限drwxr-xr-x

由於我需要通過 SFTP 上傳文件(公鑰/私鑰身份驗證;密碼和未加密的 FTP 被阻止)我認為將我的使用者帳戶添加到組應該沒有問題www-data。因此,我執行:

sudo usermod --append --groups www-data my-user

我已經註銷了目前的 SSH 會話以觸發重新載入權限。id my-user現在顯示:

uid=1000(my-user) gid=1000(my-user) groups=1000(my-user),33(www-data)

但是,我仍然無法通過 SFTP 在/var/www. 即使是簡單的touch test.txt直接通過 SSH 也失敗了Permission denied

我以為rwxreadwriteexecute。顯然我對目錄/文件權限的理解是不完整的。有人可以幫忙嗎?

您聲明 /var/www 的權限drwxr-xr-xrwx適用於所有者。組有r-x這意味著即使您將自己添加到www-data組中,該目錄也不允許該組對 /var/www 的寫入權限。

chmod g+w /var/www允許您的帳戶能夠將文件添加到 /var/www。

如果 /var/www 下有任何子目錄,chmod如果您需要能夠寫入這些目錄,您將需要執行相同的命令。

還可以考慮設置組粘性位,以便在 /var/www 中創建的所有文件都將www-data作為組。

chmod g+s /var/www

同樣,對於 /var/www 下的任何子目錄,您也需要添加它。

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