Linux文件权限特殊权限(s-s-t)

  • 什么是suid权限

    SUID是可执行文件的特殊文件权限,使其他用户能够以文件所有者的有效权限运行文件。 代替执行权限的正常x代替用户的s(指示SUID )特权。

  • 有什么实际的价值

    比如对于/etc/shadow这个文件是只有root用户可以执行的,但是如果一般的用户修改密码的话怎么办?因为你不能将修改后的密码hash写入/etc/shadow,我们看看这个文件的权限。

    显然只有root用户才能够写入,那么一般用户用的passwd这个修改用户的命令是怎么来修改密码的呢?
     
    我们看一下/usr/bin/passwd这个命令的权限
     

     
    显然在文件所有者的x权限的位置上被s给占据了,那么其他的用户执行号文件的时候就是以该文件所有者的权限(也就是roor),那么我们能够修改/etc/shadow这个文件的内容也就可以解释了.

  • 如何设置取消suid权限

    chmod u+s file
     
    chmod u-s file

  • 其他用户能够执行的条件

    其他用户必须有可执行的权限x才可以执行该文件,如果没有的话,会看到s权限会被大写(代表无效).

  • 有什么潜在的危险

    对于系统默认的具有suid的文件一般是没有可以利用的点的,但是其他的一些自带的命令是有的,下面举出几个例子。

    find命令

    find命令可以执行命令,那么假设有suid权限的话,那么我们可以达到一种"提权的目的"。
    touch test
    find test -exec whoami \;

    我这里面是用的root用户,如果是suid的话是一样的道理
     
    综上,对于suid权限还是少用的好.

  • 从攻击者的角度出发

    假设攻击者拿到了一个shell准备去提权,那么我们利用suid提权,第一步做的就是先找到有suid权限的文件进行分析.

    使用find命令进行查询
     
    find / -user root -perm /4000 2>/dev/null
     
    上述命令就是从根目录下查找有具有rootsuid权限的文件
     
    -perm是寻找文件权限的参数

    查找一般权限
    -perm 777 //查找具有普通777权限的文件
    查找特殊权限
    -perm /4000 //查找具有suid权限的文件
    一般权限
    r w x
    4 2 1
    特殊权限
    s(suid) s(sgid) t(sbit)
    4000 2000 1000
    是不是很相像呢?

    这里面再举一个例子chmod 4777 xxx就是设置suid与平常的777权限。
     
    当然除了suid还有sgid以及sbit权限,这里不再赘述。

    Linux文件权限之i、a权限

i权限:不可修改权限
 
设置方式: chattr +i xxx那么该用户就不可修改,无论任何人,如果需要修改,使用chattr -i xxx就可以了
 
只有root才可以修改

Linux特殊权限设置以及使用的更多相关文章

  1. Linux文件权限设置

    基本概念 https://linux.cn/article-7418-1.html#3_8880 用户管理 文件权限设置 -添加用户账户08% -理解 /etc/passwd 中的内容12% -理解 ...

  2. 深入理解linux的权限设置和SUID,SGID以及粘滞位

    我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...

  3. Linux系统权限设置 - 运用指南

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  4. Centos PHP+Apache执行exec()等Linux脚本权限设置的详细步骤

    1. 查看一下你的Apache的执行用户是谁: lsof -i:80         运行之后的结果为: 从图中我们可以清楚的看到,httpd(也就是Apache)的执行用户为:exec_shell( ...

  5. Linux文件权限设置教程

    Linux的文件基本权限有9个,分别是owenr.group.others三种身份各自有自己的r.w和x,比如"rwxrwxrwx",就表示owener具有r.w.x权限,同样gr ...

  6. 大数据之Linux用户权限设置

    用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理,在Linux系统中, 不论是由本级或是远程登录系统, 每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限 ...

  7. Linux 权限设置chmod

    Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令.常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid ...

  8. Linux 权限设置

    一.文件和目录权限 在Linux系统中,用户可以对每一个文件或目录都具有访问权限,这些访问权限决定了谁能访问,以及如何访问这些文件和目录. 1.文件权限简介 在Linux系统中,每一位用户都有对文件或 ...

  9. Linux文件/目录权限设置命令:chmod

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...

随机推荐

  1. [NOIP模拟测试37]反思+题解

    一定要分析清楚复杂度再打!!!窝再也不要花2h20min用暴力对拍暴力啦!!! 雨露均沾(滑稽),尽量避免孤注一掷.先把暴力分拿全再回来刚正解. 即使剩下的时间不多了也优先考虑认真读题+打暴力而非乱搞 ...

  2. 【已转移】【Java架构:基础技术】一篇文章搞掂:Java 8

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展 ...

  3. python reduce()函数使用

    reduce()的使用方法形如reduce(function, iterable[, initializer]),它的形式和map()函数一样.不过参数f(x)必须有两个参数,initializer是 ...

  4. PostgreSQL角色和权限

      PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户.角色可以拥有数据库对象,如表.索引,也可以把这些对象上的权限赋予其它角色,以控制哪 ...

  5. 机器学习笔记--classification_report&精确度/召回率/F1值

    https://blog.csdn.net/akadiao/article/details/78788864 准确率=正确数/预测正确数=P 召回率=正确数/真实正确数=R F1 F1值是精确度和召回 ...

  6. 用 Flask 来写个轻博客 (15) — M(V)C_实现博文页面评论表单

    目录 目录 前文列表 实现 post 视图函数 在 posthtml 中添加表单 效果 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hell ...

  7. python学习笔记:模块——time模块

    timetime模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar等. 时间有三种表示方式,一种是时间戳.一种是格式化时间.一种是时间元组.时间戳和格式化时间 ...

  8. 跨域篇--JSONP原理

    一篇文章让你明白 jsonp原理详解 什么是JSONP? 先说说JSONP是怎么产生的: 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自 ...

  9. JS数组中Array.of()方法的使用

    Array.of()方法的使用: Array.of()方法用于将一组数值转换为数组,举例: const a = Array.of(2,4,6,8); console.log(a); // [2,4,6 ...

  10. 一句话概括 tcp三次握手

    服务端和客户端都需要直到自己均可收发,因此需要三次握手. 简化三次握手: <img width="487" alt="2018-07-10 3 42 11" ...