Linux目录的读、写、执行权限说明


例:把zdw文件夹的权限是r-x

[root@w zdw]# chmod 755 test
切换到test2用户
[test2@w zdw]$ whoami
test2
[test2@w zdw]$ ls -li
total 36
131089 drwxr-xr-x. 2 zdw   zdw      4096 Apr 28 15:14 zdw
[test2@w zdw]$ ls zdw                             #因为有r的权限,所以能进入目录可以查看
[test2@w zdw]$ cd zdw                             #因为有x的权限,所以能进入目录
[test2@w zdw]$ touch 123                          #不能创建
touch: cannot touch `123': Permission denied
[test2@w zdw]$ cd ../
[test2@w zdw]$ rm -fr zdw                         不能删除
rm: cannot remove `zdw': Permission denied

总结:也就是有r-x权限,可以使用ls和cd,但是不能创建、修改、删除文件。(没有w不能删不能写)


例:把test文件侠权限更改为x

[root@w zdw]# chmod 111 test
[root@w zdw]# ls -li
total 12
131090 d--x--x--x. 2 root  root     4096 Apr 28 16:18 test
131084 -rwxr-xr-x. 1 test2 incahome   39 Apr 28 15:28 test.sh
131089 d--x--x--x. 2 zdw   zdw      4096 Apr 28 15:14 zdw
切换到test2用户
[test2@w zdw]$ whoami                                #当前用户为test2
test2
[test2@w zdw]$ ls test                               #因为没有r的权限,所以不能查看
ls: cannot access test: No such file or directory
[test2@w zdw]$ cd test                               #因为有x的权限,所以能进入目录
[test2@w test]$ touch add
touch: cannot touch `add': Permission denied
[test2@w test]$ rm -fr a
rm: cannot remove `a': Permission denied

总结:只有x权限,不能列表,但能进入,不能创建不能删除


例:把test文件夹权限更改为r

[root@w zdw]# chmod 444 test
[root@w zdw]# ls -l
total 12
dr--r--r--. 2 root  root     4096 Apr 29 09:29 test
-rwxr-xr-x. 1 test2 incahome   39 Apr 28 15:28 test.sh
d--x--x--x. 2 zdw   zdw      4096 Apr 28 15:14 zdw
用test2用户演示
[test2@w zdw]$ whoami
test2
[test2@w zdw]$ ls test                              #能看到,只有r没有x,查看是不正常的
ls: cannot access test/a: Permission denied
a
[test2@w zdw]$ ls -l test
ls: cannot access test/a: Permission denied
total 0
-????????? ? ? ? ?            ? a
[test2@w zdw]$

总结:没有x权限,虽然能列出内容,但是有乱码


例:把test文件夹权限更改为wx

[root@w zdw]# ls -l
total 12
d-wx-wx-wx. 2 root  root     4096 Apr 29 09:29 test
-rwxr-xr-x. 1 test2 incahome   39 Apr 28 15:28 test.sh
d--x--x--x. 2 zdw   zdw      4096 Apr 28 15:14 zdw
用test2用户演示
[test2@w zdw]$ whoami
test2
[test2@w zdw]$ ls -l
total 12
d-wx-wx-wx. 2 root  root     4096 Apr 29 09:29 test
-rwxr-xr-x. 1 test2 incahome   39 Apr 28 15:28 test.sh
d--x--x--x. 2 zdw   zdw      4096 Apr 28 15:14 zdw
[test2@w zdw]$ ls test
ls: cannot open directory test: Permission denied
[test2@w zdw]$ cd test                               #因为有x的权限,所以能进入目录
[test2@w test]$ ls                                   #因为没有r的权限,所以不能查看
ls: cannot open directory .: Permission denied
[test2@w test]$ touch aaa                            #因为有w的权限,所以能创建
[test2@w test]$ ls                                   #创建完成了也看不到
ls: cannot open directory .: Permission denied
[test2@w test]$ 
用root查看
[root@w zdw]# whoami
root
[root@w zdw]# ls test                                #可以看到用test2用户创建的aaa
a  aaa


最后总结:Linux目录的读、写、执行权限说明:

  可读r:表示具有浏览目录下面文件及目录的权限,即ls dir。(不能进到目录里,即无法cd dir);

         如果没有x权限,列表时也是有问题的,如加入-l列表属性会有问号,提示没有权限。

  可写w:表示具有增加、删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合);

  可执行x:表示具有进入目录的权限;例如:cd dir。

  无论rw都需要x的配合,否则不正常


学习自:老男孩