萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 為什麼Linux系統擁有w權限卻無法刪除文件?

為什麼Linux系統擁有w權限卻無法刪除文件?

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

  場景模擬:

  root 用戶

  [root@mode-6 ~]# mkdir /oldboy/

  [root@mode-6 /]# ll /oldboy/ -d

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

  [root@mode-6 ~]# cd /oldboy/

  [root@mode-6 oldboy]# vim test1.sh

  echo ‘My name Is ZhangLiang.’

  [root@mode-6 oldboy]# ll

  total 4

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

  普通用戶

  [oldboy@mode-6 oldboy]$ cat test1.sh

  echo ‘My name Is ZhangLiang.’

  [oldboy@mode-6 oldboy]$ echo “12312” 》》 test1.sh

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

  [oldboy@mode-6 oldboy]$ 。/test1.sh

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

  root 用戶

  [root@mode-6 oldboy]# chmod 747 test1.sh

  [root@mode-6 oldboy]# ll

  total 4

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

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

  [oldboy@mode-6 oldboy]$ rm -f test1.sh

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

為什麼Linux系統擁有w權限卻無法刪除文件?

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

  [root@mode-6 /]# ll /oldboy/ -d

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

  [root@mode-6 /]# chmod 757 。/oldboy/# root 用戶

  [root@mode-6 /]# ll /oldboy/ -d

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

  [oldboy@mode-6 oldboy]$ rm -f test1.sh # 普通用戶 可以成功刪除了

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

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

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

  對於目錄來說 rwx

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

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

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

  通過上面的演示,你是否清楚為什麼Linux系統擁有w權限卻無法刪除文件了呢?看了本文的介紹,下次刪除文件的時候就可以避免同樣的問題了。

copyright © 萬盛學電腦網 all rights reserved