SUID、SGID、Sticky BIT
添加SUID:
chmod 4755 可执行文件名
或 chmod u+s 可执行文件名
删除SUID:
chmod 755 可执行文件名
或 chmod u-s 可执行文件名
[root@localhost project]# ll
总用量 0
-rw-rw----+ 1 root root 0 8月 5 20:07 b
[root@localhost project]# chmod u+s b
[root@localhost project]# ll
总用量 0
-rwSrw----+ 1 root root 0 8月 5 20:07 b 注:大写S表示有问题,文件属主对文件无可执行权限。
危险的SetUID:若给vim设置SUID权限,则所有普通用户可通过vim修改所有配置文件。
SGID实例:
[root@localhost ~]# ll /usr/bin/locate
-rwx--s--x. 1 root slocate 40512 11月 5 2016 /usr/bin/locate
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db
-rw-r-----. 1 root slocate 834129 8月 5 10:06 /var/lib/mlocate/mlocate.db
locate命令的执行过程是读取/var/lib/mlocate/mlocate.db文件,但普通用户对/var/lib/mlocate/mlocate.db无r权限,因为locate有SGID权限,所有普通用户在执行locate命令时会临时将自己所属组变为locate命令所有组,即slocate,而/var/lib/mlocate/mlocate.db文件的所有组也是slocate,所以普通用户执行locate时有权限读取/var/lib/mlocate/mlocate.db文件。
添加SGID权限:
chmod 2755 可执行文件名
或 chmod g+s 可执行文件名
对可执行文件属组必须要有执行权限才有效,不然SGID位会是大写S
chmod 2755 目录
或 chmod g+s 目录
取消SGID权限:
chmod 755 文件或目录
chmod g-s 文件或目录
演示SGID对目录的效果:
[root@localhost ~]# mkdir /tmp/test
[root@localhost ~]# ls /tmp
test
[root@localhost ~]# chmod g+s /tmp/test
[root@localhost ~]# ll -d /tmp/test/
drwxr-sr-x. 2 root root 6 8月 5 21:32 /tmp/test/
[root@localhost ~]# chmod 2777 /tmp/test/
[root@localhost ~]# ll /tmp/test -d
drwxrwsrwx. 2 root root 6 8月 5 21:32 /tmp/test
[root@localhost ~]# su - xiongjiawei
上一次登录:六 8月 5 21:01:39 CST 2017pts/0 上
[xiongjiawei@localhost ~]$ pwd
/home/xiongjiawei
[xiongjiawei@localhost ~]$ ls
mytxt
[xiongjiawei@localhost ~]$ touch aaa
[xiongjiawei@localhost ~]$ ll
总用量 4
-rw-rw-r--. 1 xiongjiawei xiongjiawei 0 8月 5 21:39 aaa
-rw-rw-r--. 1 xiongjiawei xiongjiawei 153 7月 23 20:25 mytxt
[xiongjiawei@localhost ~]$ cd /tmp/test/
[xiongjiawei@localhost test]$ ll
总用量 0
[xiongjiawei@localhost test]$ touch bbb
[xiongjiawei@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 xiongjiawei root 0 8月 5 21:39 bbb 注:此处即体现SGID的作用,普通用户对具有SGID权限目录有w权限时在此此目录下创建的文件属组非普通用户的属组,而是该目录的属组
针对文件的SetGID类似SUID,轻易不要随便设置,会给系统增加风险!
Sticky BIT
作用:普通用户对目录具有w权限时可删除该目录下所有文件,如此目录权限有StickyBIT权限则普通用户只能删除自己创建的文件。
[xiongjiawei@localhost test]$ ll -d /tmp
drwxrwxrwt. 8 root root 105 8月 5 21:39 /tmp
若一个目录对普通用户有w权限,则任用户可以删除此目录下文件,但若此目录有StickyBIT权限则普通用户只能删除自己创建的文件。
添加StickyBIT权限:
chmod 1755 目录
chmod o+t 目录
删除StickyBIT权限:
chmod 755 目录
chmod o-t 目录
只能root添加删除粘着位权限。
SUID、SGID、Sticky BIT的更多相关文章
- 关于SUID、SGID、Sticky
SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入, ...
- 特殊权限 SUID、SGID、Sticky
摘录之----------QuintinX 一. 前提 本篇主要讲解SUID, SGID, Sticky三个权限的基本原理和应用. 为什么要使用特殊权限? 比如系统中假如有超过四类人然而每一类人都需要 ...
- 特殊权限位:suid、sgid、sticky
linux系统特殊权限位 suid.sgid.stickysuid 使任意用户获得用文件属主相同的权限,sgid使用户获得与文件属组相同的权限(通过sgid获得的权限等同于同一用户组的权限) 表示方法 ...
- linux系统特殊权限位 suid、sgid、sticky
linux系统特殊权限位 suid.sgid.stickysuid 使任意用户获得用文件属主相同的权限,sgid使用户获得与文件属组相同的权限(通过sgid获得的权限等同于同一用户组的权限) 表示方法 ...
- Linux学习历程——SUID、SGID、SBIT简介
一.SUID.SGID.SBIT简介 SUID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属主身份来执行.SGID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件 ...
- 再次学习linux文件特殊权限:SUID、SGID、Sticy Bit
以前对于文件管理的认识只限于UGO的管理,对于特殊权限的学习还是一知半解.重新学习了一遍,我自己理解的东东记录一下. 首先,列一下SUID.SGID.Sticy Bit所代表的权限数值.就好像rwx分 ...
- 【linux命令 】文件特殊权限(SUID、SGID、SBIT)
chmod 2770 /home/admins,刚看到这个命令,有点不解,后边770分别表示用户,组,其他人,前面的2不知道代表的是什么意思.百度之后发现2是代表八进制数,也是一种权限,它的三个bit ...
- Linux特殊位SUID、SGID、SBIT
Linux特殊位SUID.SGID.SBIT 前言 Linux中的文件权限一般有x.w.r,在某个情况下有需要用到s.t,即特殊位. 进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是 ...
- 【转】特殊权限控制之SUID、SGID、Sticky
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://soysauce93.blog.51cto.com/7589461/1715583 ...
- Linux中文件的SUID、SGID、Sticky权限说明
1.SUID 首先我们要了解,在Linux中启动一个程序或者启动一个进程是需要有用户的,一个文件的存在是要有用户和组的,一个进程启动后,它的属主取决于进程的发起者,比如 我用root用户启动了一个 c ...
随机推荐
- 深入浅出Java动态代理
文章首发于[博客园-陈树义],点击跳转到原文深入浅出Java动态代理 代理模式是设计模式中非常重要的一种类型,而设计模式又是编程中非常重要的知识点,特别是在业务系统的重构中,更是有举足轻重的地位.代理 ...
- 基于Spark和SparkSQL的NetFlow流量的初步分析——scala语言
基于Spark和SparkSQL的NetFlow流量的初步分析--scala语言 标签: NetFlow Spark SparkSQL 本文主要是介绍如何使用Spark做一些简单的NetFlow数据的 ...
- .NET之RabbitMQ学习笔记(二)-安装
安装 1.安装erlang语言环境 因为rabbitmq是基于erlang进行开发,所以需要安装相应的依赖环境,学习中用到的erlang包下载地址:http://www.erlang.org/down ...
- js中变量的作用域、变量提升、链式作用域结构
一:作用域 在ES6之前,javascript没有块级作用域(一对{}即为一个块级作用域),只有全局作用域和函数作用域(局部),因此,对应的有全局变量和局部变量.在函数内部可以访问到全局变量,但在函数 ...
- RecyclerView 加点击事件
在apapter里去实现. View.OnClickListener onClickListener = new View.OnClickListener() { @Override public v ...
- 《用Java写一个通用的服务器程序》01 综述
最近一两年用C++写了好几个基于TCP通信类型程序,都是写一个小型的服务器,监听请求,解析自定义的协议,处理请求,返回结果.每次写新程序时都把老代码拿来,修改一下协议解析部分和业务处理部分,然后就一个 ...
- 可靠的、可扩展的、可维护的数据系统 ------《Designing Data-Intensive Applications》读书笔记1
坦白说也是机缘巧合,在硕士生阶段进入分布式系统领域学习.无论是大规模存储或计算,其核心也是运用分布式技术利用并行性来解决数据密集型应用的需求.最近开始在啃这本<Designing Data-In ...
- 用python爬取app照片
首先下载一个斗鱼(不下载也可以,url都在这了对吧) 通过抓包,抓取到一个json的数据包,得到下面的地址 观察测试可知,通过修改offset值就是相当于app的翻页 访问这个url,返回得到的是一个 ...
- netty源码分析
1.Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.也就是说,Netty 是一个基于N ...
- 小白的Python之路 day1
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van ...