有些时候,我们在删除文件时,明明我们拥有这个文件的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 # 权限不足
[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:代表能否进入到目录里面去