权限管理

  权限管理

    权限分类:
      普通权限:最常见的权限类型,linux的文件、目录都有该种权限
      默认权限:在创建文件时,文件、目录默认具有哪些权限
      ACL单用户权限:针对单个用户,设置对应权限
      特殊权限:针对实行文件、目录设置的特殊的权限
      隐藏权限:主要用于对文件的保护

    linux系统的文件类型:
      -    一般文件       存放数据
      d   目录文件       存放其他文件
      l    链接文件       类似于windows系统中的快捷方式
      b   区块设备文件     可以随机读取的设备文件(硬盘)
      c   字符设备文件     需要顺序读取(键盘)
      s   管道文件       用于进程间的通信
      p   管道文件       用于进程间的通信

    计算机是用来处理和存储数据的,数据存放的位置不同,叫法不同。数据存放在硬盘中,称为文件,数据存放在内存中,称为进程。

  权限位

    rw- r-- r--
    属主(所有者) 属组(所有组) 其他用户
                文件                      目录
    r    读取    代表是否可以查看文件内容          代表我们可以查看目录中的内容
    w    写入   代表是否可以修改文件内容          代表我们是否可以在目录中新建、删除文件
    x    执行    如果是个脚本文件,我们可以通过./来执行    代表我们是否可以进入该目录中

    linux体统查看权限的顺序:先看所有者,在看所有组,一般所有者的权限,要大于所有组,所有组大于其他用户的权限。
    服务器中不会只设置执行权限

    权限位的含义:
      所有者 u user 用于限制文件或目录创建者
      所有组 g group 用于限制文件或目录所属成员
      其他用户 o other 用于限制既不是所有者也不是所有组用户
      所有用户 a all

    修改的权限方式:chmod
      chmod u+r filename 给所有者增加读取权限
      chmod g-w filename 给所有组去电写入权限
      chomd o=x filename 给其他用户设置执行权限
      chomd ug+w filename
      chomd u+r,g-w filename
      chomd a= filename 权限为0
      chomd a=- filename
      chomd +r filename
      chomd = filename

    用数字表示:

      r =4        0:无权限   1:x    2:w    3:wx
      w =2      4:r        5:rx   6:rw   7:rwx
      x =1
      chomd 777

    属主(所有者)修改
      chown USERNAME filename 设置为username 为属主
      chown username. filename 将filename的所有者、所有组都设置成username
      chown USERNAEM.groupname filenaem 将所有主修改成USERNAME 所有组改成groupname
      chown -R username. filename 修改目录及目录下所有的所有主
      chown .groupname filename 修改所有组

    所有组修改
      chgrp GROUPNAME FILENAME 修改所有组

    注意:

      点在名称前,修改的是组。
      点在后面,修改的是所有。
      点在中间,前面是所有者,后面是所有组

    默认权限:
      umask查看umask值,用于控制新建文件、目录默认权限,一般应用于网站服务器
      在创建文件时,系统默认模式为666
      在创建目录时,系统默认模式为777


    umask :默认权限位
      linux系统的安全机制,不允许新建的文件具备执行权限,所有因为umask设置的问题,导致新建文件具备执行权限,系统会自动字该权限位加一


    acl 单用户权限
      setfacl -m u:USERNAME:rx filename 设置单用户对file的权限
      setfacl -m g:GROUPANME:- filename 设置组队file的权限

      getfacl filename 查看acl权限
      setfacl -x u:USERNAME filename 删除acl权限
      setfacl -b filename 关闭acl权限

    隐藏权限:
      chattr 隐藏权限
      chattr [+/-/=][a/i] filename
      + 增加
      - 去掉
      = 设置
      a 不可删除、不可修改、不可移动、可以追加
      i   不可删除、不可修改、不可移动、不可追加
      注:仅root可用

      lsattr filenmae 查看隐藏权限

    特殊权限:
      suid:当一个设置了suid位的可执行文件被执行时,该文件将以所有者的身份来运行,也就是说,无论谁执行这文件,他都拥有文件所有者的权限,并且可以任意存取文件拥有者可以使用的全部系统资源。例如该文件所有者为root,那么执行人就拥有超级用户权限
      sgid:当一个设置了sgid位的可执行文件被执行时,该文件将具有所有组的权限,任意存取整个组所能使用的系统资源。如果一个目录设置了sgid,则所有被复制到该目录下的文件,该文件所有组会变成和目录一样(补充:可以在复制时用-p参数,保留文件属性)
      sbit:对一个文件设置了stickybit后,就算其他用户有写权限,还是不能进行删除、移动,只有文件的所有者才能删除。对一个目录设置了sbit后,存放在该目录的文件 仅允许所有者删除或移动
    注:sbit只可对目录设置,对于文件无效
    e

权限管理权限分类:普通权限:最常见的权限类型,linux的文件、目录都有该种权限默认权限:在创建文件时,文件、目录默认具有哪些权限ACL单用户权限:针对单个用户,设置对应权限特殊权限:针对实行文件、目录设置的特殊的权限隐藏权限:主要用于对文件的保护
linux系统的文件类型:-一般文件存放数据d目录文件存放其他文件l链接文件类似于windows系统中的快捷方式b区块设备文件可以随机读取的设备文件(硬盘)c字符设备文件需要顺序读取(键盘)s管道文件用于进程间的通信p  管道文件用于进程间的通信
计算机是用来处理和存储数据的数据存放的位置不同,叫法不同数据存放在硬盘中,称为文件数据存放在内存中,称为进程
ls -l详细显示当前目录下的文件ll =ls -lrw- r-- r--权限位属主(所有者)属组(所有组)其他用户文件目录r读取代表是否可以查看文件内容代表我们可以查看目录中的内容w写入代表是否可以修改文件内容代表我们是否可以在目录中新建、删除文件x执行如果是个脚本文件,我们可以通过./来执行代表我们是否可以进入该目录中
linux体统查看权限的顺序:先看所有者,在看所有组,一般所有者的权限,要大于所有组,所有组大于其他用户的权限。服务器中不会只设置执行权限
权限位的含义:所有者uuser用于限制文件或目录创建者所有组ggroup用于限制文件或目录所属成员其他用户oother用于限制既不是所有者也不是所有组用户所有用户aall修改的权限方式:chmod chmod u+r filename给所有者增加读取权限chmod g-w filename给所有组去电写入权限chomd o=x filename给其他用户设置执行权限chomd ug+w filenamechomd u+r,g-w filenamechomd a= filename权限为0chomd a=- filenamechomd +r filenamechomd = filename
r  =40:无权限1:x2:w3:wxw =24:r5:rx6:rw7:rwxx =1chomd 777
属主(所有者)修改chown USERNAME filename 设置为username 为属主chown  username. filename将filename的所有者、所有组都设置成usernamechown  USERNAEM.groupname filenaem将所有主修改成USERNAME 所有组改成groupnamechown -R username. filename修改目录及目录下所有的所有主chown .groupname filename修改所有组
所有组修改chgrp GROUPNAME FILENAME  修改所有组
点在名称前,修改的是组。点在后面,修改的是所有。点在中间,前面是所有者,后面是所有组
默认权限:umask查看umask值,用于控制新建文件、目录默认权限,一般应用于网站服务器在创建文件时,系统默认模式为666在创建目录时,系统默认模式为777 umask :默认权限位linux系统的安全机制,不允许新建的文件具备执行权限,所有因为umask设置的问题,导致新建文件具备执行权限,系统会自动字该权限位加一

acl单用户权限setfacl -m u:USERNAME:rx filename设置单用户对file的权限setfacl -m g:GROUPANME:- filename设置组队file的权限
getfacl filename 查看acl权限setfacl -x u:USERNAME filename 删除acl权限setfacl -b filename关闭acl权限  
隐藏权限gechattr 隐藏权限chattr[+/-/=][a/i] filename+增加-去掉=设置a不可删除、不可修改、不可移动、可以追加i不可删除、不可修改、不可移动、不可追加仅root可用
lsattr filenmae查看隐藏权限
特殊权限:suid:当一个设置了suid位的可执行文件被执行时,该文件将以所有者的身份来运行,也就是说,无论谁执行这文件,他都拥有文件所有者的权限,并且可以任意存取文件拥有者可以使用的全部系统资源。例如该文件所有者为root,那么执行人就拥有超级用户权限sgid:当一个设置了sgid位的可执行文件被执行时,该文件将具有所有组的权限,任意存取整个组所能使用的系统资源。如果一个目录设置了sgid,则所有被复制到该目录下的文件,该文件所有组会变成和目录一样(补充:可以在复制时用-p参数,保留文件属性)sbit:对一个文件设置了stickybit后,就算其他用户有写权限,还是不能进行删除、移动,只有文件的所有者才能删除。对一个目录设置了sbit后,存放在该目录的文件 仅允许所有者删除或移动注:sbit只可对目录设置,对于文件无效手动创建用户:/etc/skel 用户添加默认初始家目录文件1、/etc/group2、/etc/passwd3、cp -r /etc/skel /home/xxx3、chowm USERNAME. filename





原文地址:https://www.cnblogs.com/cxhh/p/10254899.html