5DAY高级权限

Posted hsl520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5DAY高级权限相关的知识,希望对你有一定的参考价值。

5DAY高级权限

0xff001 suid\sgid\sticky ; s\s\t ; 4\2\1特殊位

001、描述

  • suid,sgid针对文件程序时,具备临时提升权限

  • sgid 针对目录时,该目录具备继承属组的特性

  • sticky 针对目录设置,该目录中的内容只有root和属主能够删除

002、示例1-4

  • 示例1 suid 普通用户通过二进制文件,利用suid提权 ,cat二进制程序进程获取root权限查看文件


    示例1:suid   普通用户通过suid提权     <针对文件>
    在进程文件(二进制,可执行)上增加suid权限
    [[email protected] ~]# chmod u+s /usr/bin/cat
    [[email protected] ~]$ cat /root/file1.txt
  • 示例2 suid passwd拥有u+s权限 运行的进程root

    ? 可以看到,这个被passwd所修改的文件,权限仅仅允许root用户修改。其他用户虽然可以调用passwd命令,但是不能修改/etc/shadow这个文件啊,那么密码怎么存储?这就是UID的作用,你不是没有权利修改/etc/shadow文件吗?我(程序所有者)给你啊。也就是说,在这个时候,其他用户调用passwd命令已经暂时获得root用户的权限,这时去修改/etc/shadow是利用root用户的权限去修改。


    普通用户可以修改密码:
    alice           /usr/bin/passwd     /etc/shadow
    [[email protected] ~]$ ll /usr/bin/passwd
    -rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
    [[email protected] ~]$ passwd
    更改用户 alice 的密码 。
    为 alice 更改 STRESS 密码。
    (当前)UNIX 密码:
    [[email protected] ~]# ps aux |grep passwd
    root     3674 0.0 0.0 165764 1884 pts/1   S+   14:34   0:00 passwd
  • 示例4 sticky


    示例4:sticky 用户只能删除自己的文件 <针对目录>
    [[email protected] ~]# mkdir /home/dir1
    [[email protected] ~]# chmod 777 /home/dir1
    测试:user1在/home/dir1建立文件, user2尝试删除!
    ?
    [[email protected] ~]# chmod o+t /home/dir1
    [[email protected] ~]# ll -d /home/dir1
    rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1
    谁可以删除:
    root
    文件的所有者
    目录的所有者
  • 总结

    1、字符添加权限


    chmod u+s file#设置suid,针对文件提权,例如/usr/bin/passwd文件
    chmod g+s dir#设置sgid,针对文件及目录,继承权限
    chmod o+t dir#设置sticky针对目录,删除权限,

    2、数字添加权限


    chmod 4777 file#设置suid
    chmod 2770 dir#设置sgid
    chmod 1770 dir#设置sticky

0xff002 设置特殊权限

001、chattr描述

  • 常用于锁定某个文件,拒绝修改。

002、lsatter查看文件的特殊属性


[[email protected] ~]# lsattr
---------------- ./1.txt
---------------- ./vr

003、加上不同属性


[[email protected] ~]# chattr +a 1.txt //只能追加,不能删除,不能重命名、不能移动、
[[email protected] ~]# lsattr
-----a---------- ./1.txt

[[email protected] ~]# chattr +i 1.txt //不能更改,重命名,删除
[[email protected] ~]# touch 1.txt 2.txt
touch: 无法创建"1.txt": 权限不够

[[email protected] ~]# chattr +A 1.txt //不能访问更改时间
[[email protected] ~]# lsattr
----ia-A-------- ./1.txt

还原属性
[[email protected] ~]# chattr -a 1.txt
[[email protected] ~]# chattr -i 1.txt
[[email protected] ~]# chattr -A 1.txt

其他属性---不太重要,了解咯---
chattr -c启动属性时,文件在磁盘上会自动压缩
      -d不能使用dump命令备份文件
      -D设置了文件夹的D属性时,更改会在同步保存在磁盘上
      -e它表明,改文件使用磁盘上的块的映射扩展
      -j 设置了这个属性时,文件的属性首先保存在日记中,然后写入文件
      -s设置了这个属性时,变更或更改同步保存到磁盘上
      -R递归地修改文件夹和子文件夹的属性
      -V chattr 命令输出版本信息的冗余信息
      -f 忽略大部分错误信息

0xff003 进程掩码 mask umask

001、描述

shell =======umask======> 新文件或目录权限(vim,touch)vsftpd =======umask======> 新文件或目录权限 samba =======umask======> 新文件或目录权限 useradd =======umask======> 用户HOME

002、默认umask掩码0022


[[email protected] ~]# umask
0022
[[email protected] ~]# touch 1.txt
[[email protected] ~]# mkdir dir
[[email protected] ~]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 30 11:21 1.txt
drwxr-xr-x. 2 root root 6 4月 30 11:21 dir

003、修改shell umask值(临时)


[[email protected] ~]# umask 000//修改umask当前环境变量
[[email protected] ~]# mkdir dir1
[[email protected] ~]# touch 4.txt
[[email protected] ~]# ll
总用量 0
-rw-rw-rw-. 1 root root 0 4月 30 11:29 4.txt
drwxrwxrwx. 2 root root 6 4月 30 11:29 dir1

004、修改shell umask (永久)


[[email protected] ~]# vim /etc/profile  
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
  umask 002
else
  umask 022
fi
[[email protected] ~]# source /etc/profile       //立即在当前shell中生效

005、通过umask决定新建用户HOME目录的权限


通过umask决定新建用户HOME目录的权限
[[email protected] ~]# vim /etc/login.defs
UMASK           077
[[email protected] ~]# useradd gougou
[[email protected] ~]# ll -d /home/gougou/
drwx------. 4 gougou gougou 4096 3月 11 19:50 /home/gougou/
?
[[email protected] ~]# vim /etc/login.defs
UMASK           000
[[email protected] ~]# useradd yangyang
[[email protected] ~]# ll -d /home/yangyang/
drwxrwxrwx. 4 yangyang yangyang 4096 3月 11 19:53 /home/yangyang/

006、例如vsftpd进程 /etc/vsftpd/vsftpd.conf 【了解】


/etc/vsftpd/vsftpd.conf 【了解】
[[email protected] ~]# yum -y install vsftpd
[[email protected] ~]# man vsftpd.conf
anon_umask
local_umask

 

以上是关于5DAY高级权限的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript笔试题(js高级代码片段)

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

5day_C基础

Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段

帝都之行5day:还是工作上的事

gitlab 权限说明