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)的更多相关文章

  1. linux基础2-cd、mkdir、touch、umask、chattr、lsattr、SUID/SGID/Sticky Bit

    一 cd : . 代表当前目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表[目前用户身份]所在的自家目录 与cd效果相同 ~account 代表 account 这个用户的自家家目录 二m ...

  2. SUID,SGID,Sticky Bit详解(转)

    SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入, ...

  3. [转贴]Linux的SUID SGID 等知识内容

    作者:sparkdev 出处:http://www.cnblogs.com/sparkdev/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...

  4. SUID ,SGID ,Sticky

    SUID passwd:s SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者: chmod u+s FILE chmod u-s FILE 如果FILE本身原来就有执行权限, ...

  5. 【Linux】文件特殊权限 SUID/SGID/Sticky Bit

    linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...

  6. 彻底了解 suid, sgid ,sticky权限

    sticky: 粘性的, 如 : sticky tape: 粘胶带 /tmp, /var/tmp: 位 sticky: 表示: 第一, 任何用户都可以在该目录下创建文件(编辑自己的文件),第二, 但是 ...

  7. 在bash shell中使用getfattr查看文件扩展属性

    getfattr用法 用于获取文件扩展属性,返回一系列键值对,参考Linux Man Page. 常用OPTIONS -n name, --name=name Dump the value of th ...

  8. Linux中一些约定俗成的文件扩展名

    注:Linux中的所有内容均以文件的形式保存,但不依靠扩展名区分文件类型(根据权限区分),约定俗成的文件扩展名是为了方便管理员对文件进行区分 压缩包:“*.gz”.“*.bz2”.“*.tar.bz2 ...

  9. linux文件权限位SUID,SGID,sticky的设置理解

    SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来           执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超 ...

随机推荐

  1. pytest文档42-fixture参数化params

    前言 参数化是自动化测试里面必须掌握的一个知识点,用过 unittest 框架的小伙伴都知道使用 ddt 来实现测试用例的参数化. pytest 测试用例里面对应的参数可以用 parametrize ...

  2. 新手学习C/C++编程过程中常见的那些坑,一定要多多注意!

    C/C++中的指针让程序员有了更多的灵活性,但它同时也是一把双刃剑,如果用的不好,则会让你的程序出现各种各样的问题,有人说,C/C++程序员有一半的工作量是花在处理由指针引起的bug上,可想而知,指针 ...

  3. linux(centos8):用grep命令查找文件内容

    一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...

  4. Helium文档2-WebUI自动化-常用方法介绍

    学习思路: 查看github项目的源码,每个方法都有介绍及使用说明 https://github.com/mherrmann/selenium-python-helium/blob/master/he ...

  5. vue中跳转页面逻辑

    跳转详情页面具体代码 写这个页面需要安装两个 1.安装axios命令 Cnpm install axios --save 2.安装vant Cnpm install vant --save 在inde ...

  6. StringUtils工具类(Apache lang3 )

    引入依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons- ...

  7. Sec-Fetch-*请求头,了解下?

    如果你使用76+版本的chrome浏览器,通过开发者面板查看每个网络请求,会发现都有几个Sec-Fetch开头的请求头,例如访问百度首页https://www.baidu.com/的请求: Sec-F ...

  8. MYSQL 那些事

    1.一条update语句 1.先通过引擎找到对应的行数据,并加锁 2.对行数据进行修改并调用引擎接口修改这条数据,然后释放锁(此时并没有把数据在磁盘上做出修改) 3.redo log在内存中生成这条u ...

  9. Docker部署Mysql, Tomcat, Nginx, Redis

    1. Mysql部署 问题及解决方案 容器内的网络和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射 ...

  10. EXCEL计数时间差--分钟数