Linux下目录的权限详解

转载地址:http://www.cnblogs.com/oskb/p/3467224.html

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

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

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

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

<span style="font-size:18px;">$ mkdir dir1
$ ls -l
total 4
drwxrwxr-x 2 eric eric 4096 Dec 10 04:03 dir1
$ ls -l dir1/
total 0</span>

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

<span style="font-size:18px;">$ chmod 700 dir1/
$ uptime > dir1/uptime
$ ls -l
total 4
drwx------ 2 eric eric 4096 Dec 10 04:04 dir1
$ ls -l dir1/
total 4
-rw-rw-r-- 1 eric eric 69 Dec 10 04:04 uptime
$ cat dir1/uptime
04:04:47 up 3 days, 23:49, 1 user, load average: 0.00, 0.00, 0.00</span>

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

<span style="font-size:18px;">$ chmod 400 dir1/
$ ls -l
total 4
dr-------- 2 eric eric 4096 Dec 10 04:04 dir1
$ ls -l dir1/
ls: cannot access dir1/uptime: Permission denied
total 0
-????????? ? ? ? ? ? uptime
$ cat dir1/uptime
cat: dir1/uptime: Permission denied
$ touch dir1/aaa
touch: cannot touch `dir1/aaa': Permission denied</span>

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

<span style="font-size:18px;">$ chmod 100 dir1/
$ ls -l
total 4
d--x------ 2 eric eric 4096 Dec 10 04:04 dir1
$ ls -l dir1/
ls: cannot open directory dir1/: Permission denied
$ ls -l dir1/uptime
-rw-rw-r-- 1 eric eric 69 Dec 10 04:04 dir1/uptime
$ cd dir1/
$ ls -l
ls: cannot open directory .: Permission denied
$ cat dir1/uptime
04:04:47 up 3 days, 23:49, 1 user, load average: 0.00, 0.00, 0.00
$ touch dir1/aaa
touch: cannot touch `dir1/aaa': Permission denied</span>

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

<span style="font-size:18px;">$ chmod 200 dir1/
$ ls -l
total 4
d-w------- 2 eric eric 4096 Dec 10 04:04 dir1
$ ls -l dir1/
ls: cannot open directory dir1/: Permission denied
$ cat dir1/uptime
cat: dir1/uptime: Permission denied
$ touch dir1/aaa
touch: cannot touch `dir1/aaa': Permission denied</span>

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

<span style="font-size:18px;">$ chmod 500 dir1/
[eric@SJC3-testing ~]$ ls -l
total 4
dr-x------ 2 eric eric 4096 Dec 10 04:04 dir1
$ ls -l dir1/
total 4
-rw-rw-r-- 1 eric eric 69 Dec 10 04:04 uptime
$ cat dir1/uptime
04:04:47 up 3 days, 23:49, 1 user, load average: 0.00, 0.00, 0.00
$ touch dir1/aaa
touch: cannot touch `dir1/aaa': Permission denied</span>

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

<span style="font-size:18px;">$ chmod 300 dir1/
[eric@SJC3-testing ~]$ ls -l
total 4
d-wx------ 2 eric eric 4096 Dec 10 04:04 dir1
$ ls -l dir1/
ls: cannot open directory dir1/: Permission denied
$ cat dir1/uptime
04:04:47 up 3 days, 23:49, 1 user, load average: 0.00, 0.00, 0.00
$ touch dir1/aaa</span>


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值