Linux系統擁有w權限卻無法刪除文件解決方法

        Linux系統刪除文件的時候有一些註意事項,如果沒有註意到這些細節,就算你擁有某個文件的w權限,你也無法刪除文件。下面就來具體演示一下刪除文件的場景,給大傢介紹為什麼Linux系統擁有w權限卻無法刪除文件。

  場景模擬:

  root 用戶

  [[email protected] ~]# mkdir /oldboy/

  [[email protected] /]# ll /oldboy/ -d

  drwxr-xr-x 2 root root 4096 Nov 27 15:46 /oldboy/

  [[email protected] ~]# cd /oldboy/

  [[email protected] oldboy]# vim test1.sh

  echo ‘My name Is ZhangLiang.’

  [[email protected] oldboy]# ll

  total 4

  -rw-r–r– 1 root root 30 Nov 27 15:44 test1.sh

  普通用戶

  [[email protected] oldboy]$ cat test1.sh

  echo ‘My name Is ZhangLiang.’

  [[email protected] oldboy]$ echo “12312” 》》 test1.sh

  -bash: test1.sh: Permission denied # 權限不足

  [[email protected] oldboy]$ 。/test1.sh

  -bash: 。/test1.sh: Permission denied# 權限不足

  root 用戶

  [[email protected] oldboy]# chmod 747 test1.sh

  [[email protected] oldboy]# ll

  total 4

  -rwxr–rwx 1 root root 30 Nov 27 15:44 test1.sh

  這是在使用其他用戶進行 rwx操作都可以成功執行。但是進行刪除操作時卻失敗

  [[email protected] oldboy]$ rm -f test1.sh

  rm: cannot remove `test1.sh‘: Permission denied # 權限不足

 

Linux系統擁有w權限卻無法刪除文件解決方法

 

  其中文件名稱保存在上級目錄的block 中,所以能否對文件進行刪除,是看上級目錄是否有相應的 w 權限。

  [[email protected] /]# ll /oldboy/ -d

  drwxr-xr-x 2 root root 4096 Nov 27 15:46 /oldboy/# 其他用戶沒有 w 權限。所以不能刪除

  [[email protected] /]# chmod 757 。/oldboy/# root 用戶

  [[email protected] /]# ll /oldboy/ -d

  drwxr-xrwx 2 root root 4096 Nov 27 15:46 /oldboy/ # 權限已修改

  [[email protected] oldboy]$ rm -f test1.sh # 普通用戶 可以成功刪除瞭

  ###############################

  ###############################

  ###############################

  對於目錄來說 rwx

  其中r :代表讀取目錄中的內容

  w:刪除、修改 目錄裡面文件名的權限 【必須配合 x 執行才可以】

  x:代表能否進入到目錄裡面去

  通過上面的演示,你是否清楚為什麼Linux系統擁有w權限卻無法刪除文件瞭呢?看瞭本文的介紹,下次刪除文件的時候就可以避免同樣的問題瞭,想瞭解更多內容可以對GuideAH進行關註!

閱讀更多: