zoukankan      html  css  js  c++  java
  • Linux> 文件与存取权限

    1. 用户和权限

    Linux规定了4种不同类型用户:

    • 文件主 owner;
    • 同组用户 group;
    • 可以访问系统的其他用户 others;
    • 超级用户 root,具体管理系统的特权,拥有所有权限;

    用户有3种访问文件/目录的方式的权限类型:读权限 r,写权限 w,可执行/查找权限 x。只有用户具备对应权限,才能允许进行相应操作。

    每个文件的属组和权限类型对应关系,见下图

    2. 查看Linux 权限

    输入命令$ ls -l,可以查看当前目录下所有文件权限信息。

    $ ls -l
    -rwxr-xr-x 1 martin martin 11016 3月  20 10:45 a.out
    drwxr-xr-x 2 martin martin  4096 3月  21 10:26 makefile
    -rw-r--r-- 1 martin martin   156 3月  20 10:45 test.log
    -rw-r--r-- 1 martin martin   193 3月  20 10:37 test_memleak.c
    -rw-r--r-- 1 martin martin   667 3月  20 16:37 test_timer.c
    -rwxr-xr-x 1 martin martin  8480 3月  20 16:37 timer
    

    3. Linux权限表示

    Linux中如何表示权限?
    从ls -l的输出结果来看,可以知道系统用了十位(如-rwxr-xr-x)来表示权限。对权限的表示形式做简单分析:

    -rwxr-xr-x => -rwx r-x r-x 按属组分成3段,
                  第一段,"-"表示是文件类型,"rwx"表示拥有者有读、写、执行权限;
                  第二段,"r-x"表示同组用户具有读、执行权限,不具备写权限;
                  第三段,"r-x"表示其他组用户具有读、执行权限,不具备写权限;
    drwxr-xr-x => 分成3段:
                  第一段,"drwxr"表示是目录类型,"rwx"表示拥有者具有读、写、执行权限;
                  第二段,"r-x"表示同组用户具有读、执行权限,不具备写权限;
                  第三段,"r-x"表示其他组用户具有读、执行权限,不具备写权限;
    -rw-r--r-- => 分成3段:
                  第一段,"-"表示是文件类型,"rw-"表示拥有者有读、写权限,不具备执行权限;
                  第二段,"r--"表示同组用户具有读权限,不具备写、执行权限;
                  第三段,"r--"表示同组用户具有读权限,不具备写、执行权限;             
    
    • 8进制形式表示
      经常看到0644,0755(八进制)这样的数字来表示权限。那么它们具体代表什么意思呢?
      0644,0755经常用于open() 创建文件时指定权限。

    --- -> 000 -> 0 (no read, write, execute)
    --x -> 001 -> 1 execute, (no read, write)
    -w- -> 010 -> 2 write, (no read, execute)
    -wx -> 011 -> 3 write, execute, (no read)
    r-- -> 100 -> 4 read, (no write, execute)
    r-x -> 101 -> 5 read, execute, (no write)
    rw- -> 110 -> 6 read, write, (no execute)
    rwx -> 111 -> 7 read, write, execute

    因此,
    0644 - 文件拥有者具备读、写权限,不具有执行权限;同组用户具备读权限,不具有写、执行权限;其他组用户具备读权限,不具有写、执行权限;
    0755 - 文件拥有者具备读、写、执行权限;同组用户具备读、执行权限,不具有写权限;其他组用户具备读、执行权限,不具有写权限;

  • 相关阅读:
    ORA-12560:TNS:协议适配器错误解决方法
    Linux安装Oracle报Checking operating system version must be redhat3, SuSE9, redhat4, UnitedLin
    The web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@1807b9
    Red Hat Enterprise Linux 5安装Oracle10
    Dispatcher initialization failed解决办法
    oui 报错 i386 libawt.so libXp.so.6
    struts2中OGNL中访问静态方法
    超炫无比 10个免费的jQuery相册(附下载)
    ubuntu linux启用root帐户
    linux 下安装eclipse无法启动,找不到jdk的解决办法
  • 原文地址:https://www.cnblogs.com/fortunely/p/14562607.html
Copyright © 2011-2022 走看看