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

  1. Linux文件夹权限详解

    - 第一个字符代表文件(-).目录(d),链接(l) - 其余字符每3个一组(rwx),读(r).写(w).执行(x) - 第一组rwx:文件所有者的权限是读.写和执行 - 第二组rw-:与文件所有者 ...

  2. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  3. Linux "ls -l"文件列表权限详解

    ls Linux "ls -l"文件列表权限详解 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- root adm -- : apache2 ...

  4. Linux 用户及权限详解

    Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...

  5. Linux 文件/目录操作详解

    目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...

  6. linux如何修改权限详解

    前言 今日,同事问我,服务器上拷贝过来的tomcat,怎么执行不了./startup.sh.于是,我一想,那肯定是没有权限的问题了.于是使用chmod命令更改了权限后,就可以执行了.项目正常启动.我想 ...

  7. Linux "ls -l"文件列表权限详解 【转】

    1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- 2 root              adm    4096 2013-08-07 11:03 apache2 ...

  8. Linux文件传输FTP详解

    ftp命令用来设置文件系统相关功能.ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相 ...

  9. linux初级学习笔记六:linux用户及权限详解!(视频序号:03_4)

    本节学习的命令:/etc/passwd,/etc/shadow,/etc/group文件详解 本节学习的技能: 安全上下文 文件与目录的权限管理 影子命令 用户,用户组类别详解 /etc/passwd ...

随机推荐

  1. WINCRIS的使用

    附件下载:http://pan.baidu.com/s/1sj7EsOH 1.首先大家先到官网上下载自己的BIOS , 准备一个U盘格式化成FAT/FAT32格式. (网上说U盘的大小不要超过2G,这 ...

  2. php的数组变量

    数组就是存储同一类型的多个变量的 一种特殊的类型 php的数组有两种形态 1.普通类型 eg:$cars = array("Volvo","BMW"," ...

  3. mysql RC下不存在则插入

    mysql版本:5.7 目的:在RC下,name列上仅有key索引,并发插入name时不出现重复数据 RC不加gap lock,并且复合select语句是不加锁的快照读,导致两个事务同时进行都可插入, ...

  4. [PY3]——对iterator的处理(解析式、map、reduce、filter)

    引言 对iterator一般可以用for in方法处理,但有时可以借助更高效.也更易读的方式去处理. 例如解析式(包括列表解析式.生成器解析式.集合解析式.字典解析式), 例如map( ).reduc ...

  5. git移除文件夹的版本控制

    案例背景:git提交的时候把bin文件下的各种.dll提交上去了,然后每次提交都得提交好多文件,很容易忽略你真正修改的东西,故对这些不必要的东西忽略掉 解决方案:git rm 命令参数 具体实施: 1 ...

  6. SQL、Linq和Lambda表达式 的关系

    首先说说这三者完全是三种不同的东西,SQL是结构化查询语言(Structured Query Language)简称,这大家再熟悉不过了,下面主要介绍LINQ和Lambda表达式的基本概念以及同一查询 ...

  7. 手把手教你写一个java的orm(三)

    使用反射解析class 上一篇我们完成了class到表映射关系的建立,但是这个并不能被代码正确处理,我们还需要让程序能够正确的识别这些映射关系. 这一篇主要讲的是建立一个从class到表的模型,使我们 ...

  8. C语言读取配置文件

    自从大学学完C之后,就再也没用过它了, 在网上找代码,七拼八凑之后,终于成形~~勉强能用,不喜勿喷,^_^! int GetValue(const wchar_t *key, wchar_t *val ...

  9. python数据类型之简单数据类型

    变量使用注意事项 慎用小写字母l和大写字母O,因为它们可能被人看成数值1和0. 应使用小写的python变量名. 字符串 在python中,用引号括起来的都是字符串,其中的引号可以是单引号和双引号. ...

  10. android调试debug快捷键

       1. [Ctrl+Shift+B]:在当前行设置断点或取消设置的断点.    2. [F11]:调试最后一次执行的程序.    3. [Ctrl+F11]:运行最后一次执行的程序.    4. ...