zoukankan      html  css  js  c++  java
  • Linux下目录的权限详解

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

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

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

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

    $ mkdir dir1
    $ ls -l
    total 4
    drwxrwxr-x 2 eric eric 4096 Dec 10 04:03 dir1
    $ ls -l dir1/
    total 0

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

    $ 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

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

    $ 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

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

    $ 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

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

    $ 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

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

    $ 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

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

    $ 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

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

  • 相关阅读:
    洛谷 P6599 「EZEC-2」异或 题解
    线段树懒标记以及标记永久化的两种实现方法(模板)
    洛谷P3834 【模板】可持久化线段树 1 题解
    Codeforces 1012B Chemical table (思维+二分图)
    HDU 6386 Age of Moyu (最短路+set)
    CodeForces 739B Alyona and a tree (二分+树上差分)
    Codeforces 444C DZY Loves Colors (线段树)
    HDU 5441 Travel (离线dsu)
    Codeforces 1000E We Need More Bosses (边双连通+最长链)
    CodeForces 219D Choosing Capital for Treeland (树形DP)经典
  • 原文地址:https://www.cnblogs.com/oskb/p/3467224.html
Copyright © 2011-2022 走看看