zoukankan      html  css  js  c++  java
  • 第十五章 特殊权限

    一.特殊权限:
    1.suid(4000)
    SetUID(suid):会在属主权限位的执行权限上写个s
    如果该属主权限位上有执行权限,则:s
    如果该属主权限位上没有执行权限,则:S

    授权方式:
    chmod u+s filename
    chmod 4755 filename
    
    SetUID总结:
    1.让普通用户对可执行的二进制文件,临时拥有二进制文件的属主权限
    2.如果设置的二进制文件没有执行权限,那么suid的权限显示就是S
    3.特殊权限suid仅对二进制可执行程序有效,其他文件或目录则无效
    
    注意:suid极其危险,不信可以尝试对vim或者rm命令进行设定suid
    

    2.sgid(2000)
    [root@rlb ~]# ll /bin/write
    -rwxr-sr-x. 1 root tty 19624 Oct 31 2018 /bin/write

    如果该属组权限位上有执行权限,则:s
    如果该属组权限位上没有执行权限,则:S
    
    [root@db04 ~]# chmod 2755 /tmp/test/
    [root@db04 ~]# chmod g+s /tmp/test/
    
    SetGID的作用
    1.针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属组一致。
    2.当某个目录设置了sgid后,在该目录中新建的文件不在是创建该文件的默认所属组
    3.使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
    

    3.sbit
    粘滞位:
    [root@rlb ~]# ll -d /tmp/
    drwxrwxrwt. 8 root root 105 Jul 2 10:15 /tmp/

    如果该其他用户权限位上有执行权限,则:t
    如果该其它用户权限位上没有执行权限,则:T
    
    
    授权方式:
    [root@db04 ~]# chmod 1755 /opt
    [root@db04 ~]# chmod o+t /opt
    
    sticky(SI TI KI)粘滞,目前只对目录有效,作用如下:
    普通用户对该目录拥有w和x权限,即普通用户可以在此目录中拥有写入权限,如果没有粘滞位,那么普通用户拥有w权限,就可以删除此目录下的所有文件,包括其他用户建立的文件。但是一旦被赋予了粘滞位,除了root可以删除所有文件,普通用户就算有w权限也只能删除自己建立的文件,而不能删除其他用户建立的文件。
    
    系统中存在的/tmp目录是经典的粘滞位目录,谁都有写权限,因此安全成问题,常常是木马第一手跳板。
    

    特殊权限总结:
    1.SUID
    主要是对命令,或者二进制文件,以该二进制文件的属主权限来执行该文件 命令:passwd

    2.SGID
    	主要是针对目录进行授权,共享目录
    
    3.SBIT
    	粘滞位,即便是该目录拥有w权限,但是除了root用户,其他用户只能对自己的文件进行删除、移动操作
    

    一个普通用户:zls 属于 rlb这个组
    一个文件权限:rwxrw-r-x root.rlb filename1

    r:读 4
    w:写 2
    x:执行 1
    suid:4000
    sgid:2000
    t:1000

    二.rlb权限属性chattr概述:凌驾于r w x suid sgid t 之上的权限
    lsattr:
    查看特殊权限
    chattr:
    设置特殊权限
    i:锁定文件,不能编辑,不能修改,不能删除,不能移动,可以执行
    a:仅可以追加文件,不能编辑,不能删除,不能移动,可以执行

    三.rlb进程掩码umask
    [root@rlb ~]# umask
    0022

    目录:0777-0022=0755
    0777-0023=0754
    文件:0666-0022=0644

    umask=0024
    目录:0777-0024=0753
    文件:0666-0024=0642

    umask=0023
    目录:0777-0023=0754
    文件:0666-0023=064(3+1)

    umask=051
    目录:0777-0051=0726
    文件:0666-0051=06(1+1)(5+1)

    [root@rlb ~]# umask 0775
    [root@rlb ~]# mkdir zls8
    0002
    [root@rlb ~]# touch oldboy8
    0-1-11
    0002

    [root@rlb ~]# umask 0657
    [root@rlb ~]# mkdir zls9
    0120
    [root@rlb ~]# touch oldboy9
    0020

    0666
    0657

    0020

    umask影响范围:

    777-077=700


    umask命令 – 设定权限掩码

    umask命令可用来设定权限掩码。权限掩码是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
    语法格式:umask [参数] [权限掩码]
    常用参数:
    -S 以文字的方式来表示权限掩码
    -p 输出的权限掩码可直接作为指令来执行
    参考实例
    使用指令”umask”查看当前权限掩码:
    [root@rlb ~]# umask
    使组用户的写权限,其他用户的读、写和执行权限都被取消:
    [root@rlb ~]# umask u=, g=w, o=rwx
    与该功能相关的rlb命令:
    expand命令 – 转换为空白字符
    gitview命令 – 查看文件内容
    mkdir命令 – 创建目录
    cmp命令 – 比较两个文件是否有差异
    objdump命令 – 查看目标文件构成的gcc工具
    whereis命令 – 显示命令及相关文件的路径
    nmcli命令 – 网络管理命令行工具
    dd命令 – 拷贝文件及转换
    diffstat命令 – 显示统计数字
    mattrib命令 – 更改或显示MS-DOS文件的属性

    邮件安装
    yum install -y sendmail
    systemctl start sendmail
    yum install -y postfix
    systemctl start postfix

    人的一生或多或少都在为一些事情努力着,有目标的人生是精彩的!朋友请不要在原地画圈圈,该行动了!
  • 相关阅读:
    MySQL忘记root密码的找回方法
    MySQL中的备份和恢复
    MySQL中的锁(表锁、行锁)
    设计模式之: 策略模式
    MySQL流程函数
    高效查看MySQL帮助文档的方法
    php动态获取函数参数
    设计模式之: 代理模式
    网站性能优化指标
    设计模式之: 状态模式
  • 原文地址:https://www.cnblogs.com/ronglianbing/p/11734949.html
Copyright © 2011-2022 走看看