Linux

無法使用 dir 權限 666 寫入,但可以使用 777 寫入

  • May 7, 2019

我使用 Kali 作為 root 使用者。我確實在一個文件夾(由 root 創建和擁有)中設置了一個 atftp 伺服器,並對該文件夾授予了 666 權限。但我注意到使用者在上傳到 atftp 時出現權限被拒絕錯誤。FTP伺服器也是如此。因此,為了執行一些測試,我創建了一個臨時目錄,為其分配了 666 權限,嘗試使用非特權使用者創建文件,但我得到了“權限被拒絕”。然後我將權限更改為 777 並重複相同的過程。這個時間文件被創建了。

案例一:666權限

root@kali:~/temp# chmod 666 .
root@kali:~/temp# ls -la
total 8
drw-rw-rw-  2 root root 4096 May  7 00:32 .
drwxr-xr-x 21 root root 4096 May  7 00:32 ..
root@kali:~/temp# su temp
$ touch a
touch: cannot touch 'a': Permission denied

案例2:777權限

root@kali:~/temp# chmod 777 .
root@kali:~/temp# ls -la
total 8
drwxrwxrwx  2 root root 4096 May  7 00:32 .
drwxr-xr-x 21 root root 4096 May  7 00:32 ..
root@kali:~/temp# su temp
$ touch a
$ ls -la
total 8
drwxrwxrwx  2 root root 4096 May  7 00:32 .
drwxr-xr-x 21 root root 4096 May  7 00:32 ..
-rw-r--r--  1 temp temp    0 May  7 00:32 a
$

x即使文件夾在這兩種情況下都有,為什麼添加額外的權限也有助於寫入文件w

在目錄上執行位授予進入它的權限,請參閱此答案

執行位 (x) 允許受影響的使用者進入目錄,並訪問裡面的文件和目錄

666 沒有執行位,而 777 有。

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