Linux——权限管理

权限管理
(!调用上一次的命令)
普通权限、特殊权限、ACL权限、隐藏权限

普通权限
    所有者
    所有组
    其他人

  -      rw-         r--        r--      .    root          root
类型  所有者权限  所有组权限  其他人权限       所有者是谁   所有组是谁


. 代表文件或目录带有“selinux”的安全上下文。

类型:
    d 目录
    - 普通文件
    l 链接文件
    b 块设备
    c 字符设备
    s sockets文件(接口文件,通信大多数用于网络之间)
    p 数据传输文件 (通信,大多数用于进程之间)

字母表示权限
            文件                      目录
r   读      查看文件内容               查看列表
w   写   修改内容(增、删、改)        创建、删除文件|目录
x  执行         运行                   能否进入该目录

   大多数情况下,文件可以没有执行权限,但是目录一定要有执行权限

数字表示权限

 r=4     w=2     x=1   

修改权限chmod
语法:chmod [{u/g/o/a}{+/-/=}rwx][数字] 文件名|目录名
      u=user  g=group  o=other  a=all
    chmod -R (递归处理)

修改所有者及所有组 chown
语法: chown 所有者:|.所有组  文件名|目录名
    chown -R (递归处理)
    单独修改所有组的一个命令chgrp -R (递归处理)

     root默认创建文件权限是644   目录是755
 普通用户-----------------664     ----775

umask 控制linux系统建立目录或文件的默认权限

root umask 022  777-umask   755  (目录)
        666-umask   644  (文件)

普通用户  umansk 002  777-umask  775  (目录)
              666-umask  664  (文件)


隐藏权限
linux ext2  ext3  ext4  
    lsattr(查看隐藏权限)/chattr(设置隐藏权限)
语法: chattr +/-/= 参数  filename
            R  递归处理
            A  访问时间atime不可被修改
            S  I/O同步
        ########a  只能添加数据,不能删除,(一般推荐日志使用)
            c  文件存取时,是否压缩
            d  不能被dump程序备份
    ################i  不能被删除、改名、设定连接关系、写入、新增内容(root用户都不行)
            j 使用比较新的形式管理文件系统(日志格式)
            s 保密性的删除文件
            u 最大限度的保存数据

特殊权限

SUID :如果一个可执行(二进制文件)文件被设置SUID权限,那么不管是谁来执行此文件,系统都会认为是文件所有者在执行


SGID:如果一个可执行(二进制文件)文件被设置SGID权限,那么不管是谁来执行此文件,系统都会认为是文件所有组在执行
  locate 查找,在数据库中查找,所以他比find要快,查找之前要更新数据库(updatedb)
    数据库:/var/lib/mlocate/mlocate.db
    eg: locate /etc/sh    搜索etc目录下以sh开头的文件
    eg:locate ~/m        搜索用户家目录下以m开头的文件
    eg:locate -i ~/m      --------------------------- 并忽略大小写
STICKBIT(SBIT):只有所有者能执行删除移动的操作(root除外)

怎么使用特殊权限
chmod      SUID  4      SGID  2     STICKBIT(SBIT)  1
语法:chmod (特殊权限)普通权限  filename/目录名
        eg:chmod 777 filename
        eg:chmod 4777 filename

SUID会在所属用户权限本应该是x的地方显示s   如果该用户没有执行权限是S,有执行权限是s
SGID--------组-------------------------   -------组-----------------------------
SBIT--------其他人--------------------t   ------其他人------------T-------------t

特殊权限是建立在普通权限之上的,也受普通权限限制

超级权限:  UID=0 具有超级权限

ACL权限(access control list)

优先级高于普通权限
确认分区是否支持acl   6版本一般默认支持

查看是否支持acl

    tune2fs -l 设备名
    eg:tune2fs -l /dev/VolGroup/lv_root
    
    Default mount options 字段是否包含acl字段
    
    如果没有,开启分区的acl功能
    1、永久开启
    tune2fs -o acl 设备名
    2、临时开启
    mount -o remount,acl 设备名  临时开启,重启后消失
    3、永久开启
    vim /etc/fstab  (控制文件系统挂载的)
    /dev/VolGroup/lv_root /    ext4 defaults,acl 1 1
    mount -a |  reboot 

getfacl(查看ACL权限)|setfacl(设置ACL权限)

语法:getfacl filename|目录名

setfacl
语法:setfacl 选项|参数 filename|目录名
        m 更改ACL权限***************
        x 删除指定acl权限*  (删除不需要加权限)
        b 删除所有acl权限**************
        k 删除默认acl权限**
        (d 指定默认acl权限)********
        R 递归**
        test 测试模式,只显示操作结果,不对文件进行任何更改
    setfacl -m [d:]u:<UID|USERNAME>:rwx 指定用户的acl
    setfacl -m [d:]g:<GID|GROUPNAME>:rwx ----组-----
    setfacl -m [d:]o:rwx                 ----其他人-----
    setfacl -m m:rwx                     设置有效权限

如果文件|目录设置了ACL权限 在查看文件列表时会在权限位后面出现一个“+”

如果一个目录设置默认acl权限,那么在这个目录下创建的子目录继承父目录的ACL权限,(文件不行)

mask是用来指定最大有效权限的。如果我们给用户赋予了acl权限,是需要和mask的权限进行逻辑运算(与操作)才能得到用户的真正权限。

使用mask值作用就是避免我们在设置acl权限的时候误操作造成权限过大。

普通的acl权限
默认acl权限
mask最大有效权限

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值