红联Linux门户
Linux帮助

Linux chmod目录权限命令图文详解

发布时间:2019-05-23 00:00:00来源:未知作者:admin

在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。普通文件大家都了解,这里说说目录的情况。

对于目录来说,执行位的作用是控制能否进入或者通过该目录,而不是控制能否列出它的内容。读取位和执行位的组合的作用才是控制是否列出目录中的内容。写入位和执行位的组合则是允许在目录中创建,删除,和重命名文件。

下面用实例来说明问题:主要命令为chmod

普通用户创建文件夹linuxidc,默认权限为775

linuxidc@Ubuntu:~/linuxidc.com$ mkdir linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls
linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
drwxr-xr-x 2 linuxidc linuxidc 4096 Feb 16 20:18 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
total 0

更改目录权限到700,目录内可列可创建文件

linuxidc@ubuntu:~/linuxidc.com$ chmod 700 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ uptime > linuxidc/uptime
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
drwx------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
total 4
-rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 uptime
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20

更改目录权限到400,目录内不可列详情,不可CAT,不可创建文件

linuxidc@ubuntu:~/linuxidc.com$ chmod 400 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot access 'linuxidc/uptime': Permission denied
total 0
-????????? ? ? ? ?            ? uptime
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
dr-------- 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
cat: linuxidc/uptime: Permission denied
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxmi
touch: cannot touch 'linuxidc/linuxmi': Permission denied

更改目录权限到100,目录内不可列,目录可进入,不可创建文件,可Cat内文件(当然文件的权限要有,而且知道它的名字,不能联想)

linuxidc@ubuntu:~/linuxidc.com$ chmod 100 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
d--x------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot open directory 'linuxidc/': Permission denied
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/uptime
-rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 linuxidc/uptime
linuxidc@ubuntu:~/linuxidc.com$ cd linuxidc/
linuxidc@ubuntu:~/linuxidc.com/linuxidc$ ls -l
ls: cannot open directory '.': Permission denied
linuxidc@ubuntu:~/linuxidc.com/linuxidc$ cat uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20
linuxidc@ubuntu:~/linuxidc.com/linuxidc$ touch linuxmi
touch: cannot touch 'linuxmi': Permission denied

更改目录权限到200,目录内不可列,不可CAT,不可创建文件,

linuxidc@ubuntu:~/linuxidc.com$ chmod 200 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
d-w------- 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot open directory 'linuxidc/': Permission denied
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
cat: linuxidc/uptime: Permission denied
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxidc
touch: cannot touch 'linuxidc/linuxidc': Permission denied

更改目录权限到500,目录内可列,可CAT,不可创建文件,

linuxidc@ubuntu:~/linuxidc.com$ chmod 500 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
dr-x------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
total 4
-rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 uptime
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxidc.com
touch: cannot touch 'linuxidc/linuxidc.com': Permission denied

更改目录权限到300,目录内不可列,可CAT(当然文件的权限要有,而且知道它的名字,不能联想),可创建文件,

linuxidc@ubuntu:~/linuxidc.com$ chmod 300 linuxidc/
linuxidc@ubuntu:~/linuxidc.com$ ls -l
total 4
d-wx------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/
ls: cannot open directory 'linuxidc/': Permission denied
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime
 20:22:23 up 13:22,  1 user,  load average: 0.00, 0.08, 0.20
linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linux
linuxidc@ubuntu:~/linuxidc.com$

备注:700=rwx, 400=r, 100=x, 200=w, 500=rx, 300=wx

更多Linux命令相关信息见Linux命令大全 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=16