Permissions

授予組中所有使用者寫入目錄及其所有子目錄的權限

  • March 11, 2019

第一次嘗試 Linode,執行 Arch Linux 鏡像,我以 root 身份成功安裝了 nginx。

但是,這使得/usr/share/nginx/html非 root 使用者無法訪問。

直覺上,我認為這會起作用:

  • newgrp www(創建一個新組)
  • chgrp -R www /usr/share/nginx/html(將目錄與新組遞歸關聯)
  • chmod -R g=rw /usr/share/nginx/html(授予新組讀寫權限)
  • usermod -a -G www john.doe(將非root使用者添加到新組)

但是,我仍然無法將文件寫入/usr/share/nginx/htmljohn.doe。我也試過

  • chown -R :www /usr/share/nginx/html

看看它是否有任何效果——它沒有。

這是目前設置的樣子:

[john.doe@hydrogen nginx]$ ls -l
total 4
drwxrw-r-x 4 root www 4096 Dec 19 08:10 html
[john.doe@hydrogen nginx]$ id
uid=1000(john.doe) gid=100(users) groups=100(users),10(wheel)
[john.doe@hydrogen nginx]$ groups john.doe
wheel www users

我有什麼誤解/錯過了我不能寫入這個目錄?

將執行位添加到您的目錄。就目前而言,john.doe 可以寫入和讀取目錄中的文件,但看不到目錄中的文件。通過讓 john.doe 使用目錄內的路徑編輯文件,您可以看到這是真的。

引用自:https://unix.stackexchange.com/questions/105895