Linux 文件特殊权限详解[suid/sgid/t]
setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限,
即让普通用户可以以root用户的角色执行程序或命令。
setgid(sgid): 希望一个目录被多个用户(同属于一个组)共享,同一个组的用户可以处理
粘滞位(t) : 把一个文件夹的权限都打开,然后共享文件,像/tmp一样,但是 生产环境一般不使用
suid
setuid(suid): 针对命令和二进制程序的
chmod u+s h.txt
chmod 4777 h.txt
chmod u-s h.txt
查看passwd命令的权限
[root@localhost ftl]# ll /usr/bin/passwd 问题: passwd文件的属组是root,表示只有root用户可以访问的文件,为什么普通用户依然可以使用该命令更改自己的密码?
答案:当普通用户[omd]使用passwd命令的时候,系统看到passwd命令文件的属性有大写s后,表示这个命令的属主权限被omd用户获得,也就是omd用户获得文件/etc/shadow的root的rwx权限

用户添加s权限【用4表示s位,有大写s表示有suid权限】
[root@localhost ftl]# chmod 4600 hhh.txt -->【当x位没有小写x执行权限的时候,sudi的权限显示的就是大S】
[root@localhost ftl]# chmod 600 hhh.txt

查找拥有s权限且文件权限为755的文件
find / -type f -perm 4755

取消ping命令的共享权限
which ping --> /bin/ping -->显示4755
chmod 755 /bin/ping
普通用户用不了 ping命令了

其他答疑
suid和sudo都可以用于提高用户的操作权限,那他们的区别是什么?
suid:是让所有用户拥有某个权限可以执行某个程序或命令 -->仅仅是一个工具,仅仅在执行过程中生效,所有人都可用
sudo:是让某个用户获得特定的某个命令或者执行权限 -->身份提高,终身有效,某个用户才有的权利
希望普通用户[omd]删除某个自己没有权限删除的文件,应该怎么处理?
a.sudo给omd授权rm权限b.rm设置suid
c.修改上级目录的权限【因为上级目录记录着下级目录里文件的权限信息】
sgid
setgid(sgid): 希望一个目录被多个用户(同属于一个组)共享,同一个组的用户可以处理
chmod g+s /home/omd/h -->添加sgid
chmod 2755 /home/omd/h -->添加sgid
chmod g-s /home/omd/h -->取消sgid
粘滞位(t)
粘滞位(t): 把一个文件夹的权限都打开,然后共享文件,像/tmp一样,但是 生产环境一般不使用
chmod o+s h.txt --> 添加粘滞位
chmod o-s h.txt --> 取消粘滞位
chmod 1777 /home/omd –>添加粘滞位
查看/tmp文件夹的权限:
tmp相当于共内容,所有用户可以对这个目录操作,但是不能破坏(t的作用)
/tmp是经典的粘滞位目录,特点:谁都有写的权限,因此有安全隐患
[root@localhost omd]# ll -ld /tmp/ -->t表示粘滞位 t表示有个x,没有就是大T

特殊权限的小结
特殊说明:
suid 4000: 权限符s(S),用户位上的x位置 chmod 4777 h.txt
guid 2000: 权限符s(S),用户组位上的x位置 chmod 2777 h.txt
粘滞位 1000: 权限符t(T),其他用户位上的x位置 chmod 1777 /home/omd
对应位有x则,字符权限小写,否则表现为大写
设置方法:
chmod u+s h.txt chmod u-s h.txt
chmod g+s h.txt chmod g-s h.txt
chmod o+s h.txt chmod o-s h.txt
/tmp是经典的粘滞位目录,需要记住哦
Linux 文件特殊权限详解[suid/sgid/t]的更多相关文章
- Linux文件夹权限详解
- 第一个字符代表文件(-).目录(d),链接(l) - 其余字符每3个一组(rwx),读(r).写(w).执行(x) - 第一组rwx:文件所有者的权限是读.写和执行 - 第二组rw-:与文件所有者 ...
- Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)
Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...
- Linux "ls -l"文件列表权限详解
ls Linux "ls -l"文件列表权限详解 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- root adm -- : apache2 ...
- Linux 用户及权限详解
Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
- linux如何修改权限详解
前言 今日,同事问我,服务器上拷贝过来的tomcat,怎么执行不了./startup.sh.于是,我一想,那肯定是没有权限的问题了.于是使用chmod命令更改了权限后,就可以执行了.项目正常启动.我想 ...
- Linux "ls -l"文件列表权限详解 【转】
1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- 2 root adm 4096 2013-08-07 11:03 apache2 ...
- Linux文件传输FTP详解
ftp命令用来设置文件系统相关功能.ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相 ...
- linux初级学习笔记六:linux用户及权限详解!(视频序号:03_4)
本节学习的命令:/etc/passwd,/etc/shadow,/etc/group文件详解 本节学习的技能: 安全上下文 文件与目录的权限管理 影子命令 用户,用户组类别详解 /etc/passwd ...
随机推荐
- SpringMVC源码阅读:Json,Xml自动转换
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...
- 为 Nginx 创建 windows 服务自启动
1.下载最新版的 Windows Service Wrapper 程序 下载地址:http://download.java.net/maven/2/com/sun/winsw/winsw/1.9/ 2 ...
- [Codeforces 993E]Nikita and Order Statistics
Description 题库链接 给你一个长度为 \(n\) 的序列 \(A\) ,和一个数 \(x\) ,对于每个 \(i= 0\sim n\) ,求有多少个非空子区间满足恰好有 \(i\) 个数 ...
- SQL Server如何存储特殊字符、上标、下标
测试验证特殊符号能否存入数据库中: 其中,像一些普通单位符号比如“ ° ′"﹩ $ ﹠ & £¥ ‰ % ℃ ¤ ¢℉”可以正常录入没有问题,但是万分号“‱”之上就不可以了,录入后显 ...
- [PHP] 超全局变量$_FILES上传文件
1.$_FILES --超全局变量,HTTP 文件上传变量 通过 HTTP POST 方式上传到当前脚本的项目的数组,PHP 能够接受任何来自符合 RFC-1867 标准的浏览器上传的文件, 上传的过 ...
- XCode 添加自定义framework运行时出现dyld: Library not loaded的解决方法
XCode添加自定义framework运行时出现dyld: Library not loaded的解决方法 在使用自定义的framework运行时,会出现如下的错误: dyld: Library no ...
- elasticsearch 6.3 安装手记
系统环境 centos 7 elasticsearch 6.3 需要 JDK 8 版本,先安装 JDK 8. ES6.3 安装地址: https://www.elastic.co/guide/en/e ...
- Windows应用程序对键盘与鼠标的响应
编写程序: 设计一个窗口, 当单击鼠标左键时, 窗口中显示"LEFT BUTTON"; 当单击鼠标右键时, 窗口中显示"RIGHT BUTTON"; 当单击 ...
- Hibernate的多对多实例
在完成了一对多的实例的基础上,继续做多对多实例.例子是老师和学生,一个老师教多个学生,一个学生也有多个老师. 文档结构如图:
- 修改input被选中的默认样式
input:focus{ outline: none; border: 1px solid #fff; } 或者 input[type=text]:focus{ outline: n ...