zoukankan      html  css  js  c++  java
  • linux用户权限 -> 系统基本权限

    比如rwxr-xr-x linux中正是这9个权限位来控制文件属主(User)、属组(Group)、其他用户(Other)基础权限。

    用户对资源来说, 有三种角色
      User(u): 属主用户(文件所有者)
      Group(g): 属组用户(包含组成员)
      Other(o): 匿名用户(其他人)

    //一个用户访问文件流程如下
      1. 判断用户是否为文件的所有者,如果是,按所有者的权限进行访问
      2. 判断是否为文件的所有组成员,如果是,就按组的权限去访问
      3. 最终用户就是文件的其他的人,按其他人的权限去访问

    rwx, rwx, r-x
    User Group Other

    权限与属主属组

    文件权限对应表

    字母含义对应权限
    r(read) 读取权限 4
    w(write) 写入权限 2
    x(execute) 执行权限 1
    -(没有权限) 没有权限 0

    如果权限位不可读、不可写、不可执行,则用-来表示。

    权限修改命令chmod

    chmod   //修改文件目录权限rwx  -R级联修改
    
    mkdir dir       //建立目录
    touch dir/file  //建立文件
    
    示例1:
    chmod 777 dir/   //修改dir目录权限为777
    chmod u+rwx,g+rwx,o+rwx 
    
    示例2:
    chmod 666 dir/file     //修改file文件权限为666
    chmod u+rw,g+rw,o+rw 
    
    示例3:
    
    chmod -R 766 dir/  //修改目录及子目录权限

    属主属组修改命令chown

    chown   //更改属主以及属组 -R:级联修改
    
    
    mkdir dir               //创建目录
    touch dir/file_test     //创建文件
    mkdir dir/dir_test      //创建目录
    
    示例1:
    chown bin dir/  //修改所属主为bin
    ll -d dir/      //检查属主
    drwxr-xr-x 2 bin root 4096 7月  22 00:50 dir/
    
    
    示例2:
    chown .adm dir/     //修改所属组为adm
    ll -d dir/          //检查属组
    drwxr-xr-x 2 bin adm 4096 7月  22 00:50 dir/
    
    
    示例3:
    chown -R root.root dir/ //递归修改目录及目录下的所有文件属主和属组

    基础权限设置案例

    权限对文件的影响对目录的影响
    读取权限(r) 具有读取阅读文件内容权限 具有浏览目录及子目录
    写入权限(w) 具有新增、修改文件内容的权限 具有增加和删除目录内文件
    执行权限(x) 具有执行文件的权限 具有访问目录的内容(取决于目录中文件权限)

    文件权限与目录权限说明

    1)    文件权限
    r 代表文件可读
    w 代表文件可编辑修改
    x 代表文件可执行
    通常情况下,文件至少要有r权限。例如,只有w权限,文件除了通过重定向方式外,是无法编辑的。
    
    2)    目录权限
    r 代表目录可读,即可查看该目录
    w 代表目录可编辑修改,即目录下的文件可以改名、删除等(文件名信息存放在目录block中)
    x 代表目录可执行,即代表可进入该目录
    通常情况下,目录至少要有x权限,即至少能进入该目录
    
    3)    其他说明
    文件的删除、创建、重命名需要至少有该文件所在目录的wx权限
    
    4)    Linux访问文件过程
    例如:访问/a/b.txt
    ① 访问/的inode
    ② 通过/的inode找到/的block
    ③ 访问/的block,并且在/的block中找到a目录的名字与inode号码
    ④ 访问/a的inode
    ⑤ 通过/a的inode找到/a的block
    ⑥ 访问/a的block,并且在/a的block中找到b.txt文件的名字与inode号码
    ⑦ 访问/a/b.txt的inode
    ⑧ 访问/a/b.txt的block,访问文件内容
    其中步骤③⑥⑧过程涉及权限,即通过inode访问block过程涉及权限。

    默认权限

    1)    文件的默认权限是644,目录的默认权限是755
    
    2)    通过umask来控制默认权限,umask默认值为022
    
    3)    默认权限计算方法
          文件的默认最大权限是666,目录的默认最大权限是777,用默认最大权限减去umask值可得到文件、目录的默认权限,如果文件的结果为奇数,需要+1。
          例如:修改umask为033后,新建文件的默认权限为644,新建目录的默认权限为744。
    
    4)    修改默认权限
          临时修改:umask 032
          永久修改:编辑/etc/profile

    权限测试实例

    ## 创建环境:
    [root@Test01 ~]# useradd oldboy
    [root@Test01 ~]# mkdir -p /oldboy/oldboydir
    [root@Test01 ~]# chown oldboy.oldboy /oldboy/oldboydir
    [root@Test01 ~]# cd /oldboy/oldboydir
    [root@Test01 oldboydir]# touch {01..5}.txt
    [root@Test01 oldboydir]# ls -la
    total 8
    drwxr-xr-x 2 oldboy oldboy 4096 Jun 26 00:30 .
    drwxr-xr-x 3 root   root   4096 Jun 26 00:28 ..
    -rw-r--r-- 1 root   root      0 Jun 26 00:30 01.txt
    -rw-r--r-- 1 root   root      0 Jun 26 00:30 02.txt
    -rw-r--r-- 1 root   root      0 Jun 26 00:30 03.txt
    -rw-r--r-- 1 root   root      0 Jun 26 00:30 04.txt
    -rw-r--r-- 1 root   root      0 Jun 26 00:30 05.txt
    
    ## 修改为oldboydir目录为只读权限
    [root@Test01 oldboydir]# ll -d 
    drwxr-xr-x 2 oldboy oldboy 4096 Jun 26 00:30 .
    [root@Test01 oldboydir]# chmod u=r .
    [root@Test01 oldboydir]# ll -d 
    dr--r-xr-x 2 oldboy oldboy 4096 Jun 26 00:30 .
    
    ## 在oldboy用户下,查看oldboydir目录
    [oldboy@Test01 oldboy]$ ls -l /oldboy/oldboydir/
    ls: cannot access /oldboy/oldboydir/05.txt: Permission denied
    ls: cannot access /oldboy/oldboydir/01.txt: Permission denied
    ls: cannot access /oldboy/oldboydir/03.txt: Permission denied
    ls: cannot access /oldboy/oldboydir/02.txt: Permission denied
    ls: cannot access /oldboy/oldboydir/04.txt: Permission denied
    total 0
    -????????? ? ? ? ?            ? 01.txt
    -????????? ? ? ? ?            ? 02.txt
    -????????? ? ? ? ?            ? 03.txt
    -????????? ? ? ? ?            ? 04.txt
    -????????? ? ? ? ?            ? 05.txt

    总结:

    1. 目录的x权限决定用户是否能进入目录,同时x权限可以显示目录中文件属性信息
    2. 如果只有r权限,则目录中文件属性信息不能显示,会出现以上情况
    3. 在目录中对文件进行创建、删除和重命名需要有目录的w权限
    4. 因此对于目录来说,默认权限是755

    rwx对文件的影响

    读取权限(r)
    文件只有r权限: 具有读取阅读文件内容权限
    1.能使用查看类命令cat、head、tail、less、more
    2.不能复制、不能移动、不能编辑,不能删除

    写入权限(w)
    如果文件只有w权限: 具有新增、修改文件内容的权限
    1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
    2.使用echo、cat命令重定向或追加重定向技术可以往文件内写入数据
    3.不能复制、不能移动、不能删除,(删除需要看上级目录w的权限)

    执行权限(x)
    文件只有x权限,具有执行文件的权限。
    //注意: 普通用户需要有r权限,管理员不需要
    1.不能执行、查看、编辑、复制、移动、删除

    权限小结:

    文件rw权限, 可以查看和编辑文件内容
    文件rx权限, 只能查看和执行文件、不能编辑、复制、移动、删除
    目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录

    注意事项:

    文件, x权限小心给予,建议赋予r或rw即可
    目录, w权限小心给予,建议无特殊需求赋予rx即可

  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/tim1blog/p/9728147.html
Copyright © 2011-2022 走看看