linux中suid/sgid/sticky及扩展属性(attr)
suid只适用于命令文件.(如/usr/bin/passwd)
当命令文件上有suid权限时,则操作用户的权限变成属主权限。命令文件上无suid权限则操作用户的权限不变。
查看suid权限:
[root@localhost ha]# which passwd
/usr/bin/passwd
[root@localhost ha]# ll -d /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
说明: - + suid= S 而 x + suid =s(故注意s与S的区别)
当是s是说明是x+suid/sgid组成.当是S时,说明是-,不是可执行文件,设置不设置suid和sgid无意义.
[test@localhost ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied ----无权限。
[test@localhost ~]$ which cat
/bin/cat
[test@localhost ~]$ ll -d /bin/cat
-rwxr-xr-x. 1 root root 54080 Nov 6 2016 /bin/cat
[root@localhost ~]# chmod u+s /bin/cat
[root@localhost ~]# ll -d /bin/cat
-rwsr-xr-x. 1 root root 54080 Nov 6 2016 /bin/cat
[test@localhost ~]$ cat /etc/shadow ----有权限,可以查看。
sgid:适用于命令文件和目录文件。设置给命令文件时,用户权限变成属组成员的权限。设置给目录时,属组跟随。即:若用户在此目录下拥有w权限,则用户所创建的新文件的用户组与该目录的用户组相同。
[root@localhost test]# chmod g+s ha
[root@localhost test]# ll -d ha
drwxr-sr-x 2 lbg lbg 24 Oct 3 18:01 ha
[root@localhost ha]# ll
total 0
-rw-r--r-- 1 lbg lbg 0 Oct 3 18:01 1
-rw-r--r-- 1 lbg lbg 0 Oct 3 18:01 3
[root@localhost ha]# touch 2
[root@localhost ha]# ll
total 0
-rw-r--r-- 1 lbg lbg 0 Oct 3 18:01 1
-rw-r--r-- 1 root lbg 0 Oct 3 22:44 2 ----属组变成了lbg
-rw-r--r-- 1 lbg lbg 0 Oct 3 18:01 3
sticky:在一个目录上设了sticky位后,所有的用户(除了root)都可以在这个目录下创建文件,但只能删除自己创建的文件,这就对所有用户能写的目录下的用户文件启到了保护的作用。
[root@localhost test]# ls
a.dir
[root@localhost test]# chmod o+t a.dir
[root@localhost test]# ll
drwxr-xr-t 2 root root 6 Oct 3 22:48 a.dir
[test@localhost a.dir]$ ll
total 0
-rwxrwxrwx 1 test test 0 Oct 3 22:50 1
-rwxrwxrwx 1 test test 0 Oct 3 22:51 2
-rwxrwxrwx 1 test2 test2 0 Oct 3 22:51 3
-rwxrwxrwx 1 test2 test2 0 Oct 3 22:51 4
[test@localhost a.dir]$ rm -fr 3
rm: cannot remove ?.?. Operation not permitted
用数字表示权限:
suid =4 sgid=2 sticky =1 写在ugo权限前.
[test@localhost test]$ ll -d b.dir/
drwxrwxr-x 2 test test 6 Oct 3 22:55 b.dir
[test@localhost test]$ chmod 7666 b.dir/
[test@localhost test]$ ll -d b.dir/
drwSrwSrwT 2 test test 6 Oct 3 22:55 b.dir
文件扩展属性:又称隐藏权限.(attr 是attribute 属性的缩写.)
作用:防止root用户误操作删除文件。
查看文件属性:lsattr
[root@localhost test]# lsattr a.dir/
---------------- a.dir/1
修改扩展属性:
“+文件属性” 就是添加该属性
“-文件属性”去掉此属性
“=文件属性” 此文件有且只有这属性
chattr +a file_name -- +a表示不能删不能清,原内容不能变,只能追加.一般是日志文件.
chattr +i file_name -- +i 表示对文件不能做任何操作.加了后可以用 - i 取消.一般是配置文件。
linux中suid/sgid/sticky及扩展属性(attr)的更多相关文章
- linux基础2-cd、mkdir、touch、umask、chattr、lsattr、SUID/SGID/Sticky Bit
一 cd : . 代表当前目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表[目前用户身份]所在的自家目录 与cd效果相同 ~account 代表 account 这个用户的自家家目录 二m ...
- SUID,SGID,Sticky Bit详解(转)
SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入, ...
- [转贴]Linux的SUID SGID 等知识内容
作者:sparkdev 出处:http://www.cnblogs.com/sparkdev/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...
- SUID ,SGID ,Sticky
SUID passwd:s SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者: chmod u+s FILE chmod u-s FILE 如果FILE本身原来就有执行权限, ...
- 【Linux】文件特殊权限 SUID/SGID/Sticky Bit
linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...
- 彻底了解 suid, sgid ,sticky权限
sticky: 粘性的, 如 : sticky tape: 粘胶带 /tmp, /var/tmp: 位 sticky: 表示: 第一, 任何用户都可以在该目录下创建文件(编辑自己的文件),第二, 但是 ...
- 在bash shell中使用getfattr查看文件扩展属性
getfattr用法 用于获取文件扩展属性,返回一系列键值对,参考Linux Man Page. 常用OPTIONS -n name, --name=name Dump the value of th ...
- Linux中一些约定俗成的文件扩展名
注:Linux中的所有内容均以文件的形式保存,但不依靠扩展名区分文件类型(根据权限区分),约定俗成的文件扩展名是为了方便管理员对文件进行区分 压缩包:“*.gz”.“*.bz2”.“*.tar.bz2 ...
- linux文件权限位SUID,SGID,sticky的设置理解
SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来 执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超 ...
随机推荐
- 基于python常用排序与查找
""" 排序与查找 -- 冒泡排序 -- 选择排序 -- 快速排序 --****经典 -- 希尔排序 """ # 常用排序的实现 # 冒泡排 ...
- [wxpusher]分享一个服务器推送消息到微信上的小工具,可以用于微信推送提醒和告警。
背景 作为一个程序员,业余搞点自己的东西很正常,一般程序员都会有一两台自己的服务器,谁叫今天xx云搞活动,明天yy云搞活动呢. 自家的服务器用来跑爬虫,跑博客,或者跑一些个人业务,但当服务有新状态,抢 ...
- composer 打印美化
{ "name": "brady_frmwork", "description":"php framwork", &qu ...
- centos8平台基于iftop监控网络流量
一,iftop的作用: 基于ip统计外部机器与本机之间的网络流量, 可以方便的查看各客户端是否有非正常的到本机的访问 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnbl ...
- form单提交后按钮变成失效变灰
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 详解GaussDB(DWS) explain分布式执行计划
摘要:本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 前言 执行计划(又称解释计划)是数据库执行SQL语句的具体步骤,例如通过索引还是全表扫描访问表中的 ...
- AQS 自定义同步锁,挺难的!
AQS是AbstractQueuedSynchronizer的简称. AbstractQueuedSynchronizer 同步状态 AbstractQueuedSynchronizer 内部有一个s ...
- 循序渐进VUE+Element 前端应用开发(21)--- 省市区县联动处理的组件使用
在很多应用中,往往都涉及到记录用户所在省份.城市.区县或者街道等信息,一般我们可以通过联动的Select或者类似的界面组件进行展示,或者使用Element中的el-cascader界面组件进行展示,而 ...
- Kubernetes 搭建 ES 集群(存储使用 local pv)
一.集群规划 由于当前环境中没有分布式存储,所以只能使用本地 PV 的方式来实现数据持久化. ES 集群的 master 节点至少需要三个,防止脑裂. 由于 master 在配置过程中需要保证主机名固 ...
- STM32入门系列-使用C语言封装寄存器
前面文章介绍了存储器映射.寄存器和寄存器映射,这些都是为了介绍使用 C语言封装寄存器做铺垫.这里我们通过一个实例来对 C 语言封装寄存器进行介绍. 具体实例:控制 GPIOC 端口的第 0 管脚输出一 ...