linux权限补充:rwt rwT rws rwS 特殊权限

众所周知,Linux的文件权限如:
777;666等,其实只要在相应的文件上加上UID的权限,就可以用到加权限人的身份去运行这个文件。所以我们只需要将bash复制出来到另一个地方,然后用root加上UID权限,只要用户运行此Shell就可以用用root的身份来执行任何文件了

一个文件都有一个所有者,
表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.

如果是一个可执行文件,
那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限.
而setuid, setgid 可以来改变这种设置.

setuid:该位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。比如我们用普通用户运行passwd命令来更改自己的口令,实际上最终更改的是/etc/passwd文件我们知道/etc/passwd文件是用户管理的
配置文件,只有root权限的用户才能更改

  [[email protected]
~]# ls -l /etc/passwd

  -rw-r--r--
1 root root 2379 04-21 13:18 /etc/passwd

  作为普通用户如果修改自己的口令通过修改/etc/passwd肯定是不可完成的任务,但是不是可以通过一个命令来修改呢答案是肯定的,作为普通用
户可以通过passwd 来修改自己的口令这归功于passwd命令的权限我们来看一下;

  [[email protected]
~]# ls -l /usr/bin/passwd

  -r-s--x--x
1 root root 21944 02-12 16:15 /usr/bin/passwd

  因为/usr/bin/passwd
文件已经设置了setuid
权限位(也就是r-s--x--x中的s),所以普通用户能临时变成root,间接的修改/etc/passwd,以达到修改自己口令的权限

setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除,
主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除,
同时也不能添加新的文件.
 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky
bit位.
 设置该位后,
就算用户对目录具有写权限, 也不能删除该文件.

下面说一下如何操作这些标志:

操作这些标志与操作文件权限的命令是一样的,
都是 chmod. 有两种方法来操作,

1)
chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效)

chmod
g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效)

chmod
o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)

2)
采用八进制方式. 对一般文件通过三组八进制数字来置标志, 如 666, 777, 644等. 如果设置这些特殊标志, 则在这组数字之外外加一组八进制数字. 如
4666, 2777等. 这一组八进制数字三位的意义如下,

abc

a
- setuid位, 如果该位为1, 则表示设置setuid 4---

b
- setgid位, 如果该位为1, 则表示设置setgid 2---

c
- sticky位, 如果该位为1, 则表示设置sticky 1---

设置完这些标志后,
可以用 ls -l 来查看. 如果有这些标志, 则会在原来的执行标志位置上显示. 如

rwsrw-r-- 表示有setuid标志

rwxrwsrw- 表示有setgid标志

rwxrw-rwt 表示有sticky标志

以下是对目录的两个普通设定: 
drwx------ (700) -
只有属主可在目录中读、写。 
drwxr-xr-x
(755) - 所有用户可读该目录,但只有属主才能改变目录中的内容

suid的代表数字是4,比如4755的结果是-rwsr-xr-x //只有一个suid,故第一位是4,755即u(rwx)g(r-x)o(r-x)
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x

//一个suid,一个sgid
4+2=6,故第一位是6,755即u(rwx)g(r-x)o(r-x)

sticky位代表数字是1,比如7755的结果是-rwsr-sr-t

//
(当然7755这个chmod设置没多大意义,这里只是演示一下)

那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x,
则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)

注意:setuid和setgid会面临风险,所以尽可能的少用

linux权限补充:rwt rwT rws rwS 特殊权限,布布扣,bubuko.com

时间: 2025-01-02 16:41:22

linux权限补充:rwt rwT rws rwS 特殊权限的相关文章

Linux权限管理总结(1)--基础权限

玩Linux的人都知道,Linux的安全性要比Windows高很多,而这主要是因为Linux中的安全权限机制,Linux中的用户和文件是组成系统的重点,而Linux的主要哲学思想是一切皆文件.Linux中的用户有用户的权限,分为普通用户和超级用户.文件有文件的权限,分别为读写执行权限.因为Linux中一切皆文件,对文件的操作就可以直接的操作系统,很多Linux高级服务器是没有图形界面的,都是对文件来直接操作来控制服务器,对文件的操作要通过用户来执行,而普通用户和超级用户的执行权限是不同的. 1.

linux下非root用户如何修改root权限的文件

在linux下会出现把一些配置文件参数配错.root密码忘记等导致系统无法启动或进入root的窘迫境地,本文以redhat  enterprise linux server 6.4为例介绍root身份修改root权限配置文件的参数后,root无法登录,然后通过linux的rescue模式改回配置文件,巧妙以非root身份修改了root权限的文件的解决方案. 首先,插入linux安装盘重启系统,等到引导进入安装会话,上下移动方向键,选rescue installed system: 第二,进入修复

修改Linux下的文件以及文件夹的权限

如何在Linux中管理文件和文件夹的权限? 2014-02-12 10:58 布加迪编译 51CTO 字号:T | T Linux系统有严格的权限管理制度,操作者权限与文件权限不匹配时将无法对文件进行任何操作.对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.本文从命令行开始入手,教您在Linux中管理文件和文件夹权限的方法. AD:51CTO学院:IT精品课程在线看! [51CTO精选译文]对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.人们通常认为,想进入到这种

Linux新手入门:通过chmod改变文件权限--转

前面介绍过在Linux中如何查看文件的属性,在Linux文件权限详解中我们介绍了Linux文件的三种身份和四种权限,三种身份分别为: u:文件的拥有者 g:文件所属的群组 o:其他用户 对于每个身份,又有四种权限,分别为: r:读取文件的权限(read) w:写入文件的权限(write) x:执行的权限(execute) s:特殊权限 在Linux文件权限详解中我们知道Linux中有两种表示文件权限的方式,分别为数字以及符号表示方式. chmod以数字形式改变文件权限 chmod 755 tes

在Linux下给mysql创建用户并分配权限等问题

在linux系统中安装mysql的步骤 工具: mysql-5.6.17-linux-glibc2.5-i686.tar.gz mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz linux系统64位 方法/步骤 1.到mysql官网下载mysql编译好的二进制安装包. 2.解压安装包: 3.进入安装包所在目录,执行命令:tar -zxvf  mysql-5.6.17-linux-glibc2.5-i686.tar.gz 4.复制解压后的mysql目录到系统的本地

ThinkPHP项目笔记之RBAC(权限)补充篇

这里,主要补充的是配置以及相关代码问题. <?php return array( //'配置项'=>'配置值' 'RBAC_SUPERADMIN' => 'admin',//超级管理员名称,对应用户表中某一个用户:username 'ADMIN_AUTH_KEY' => 'superadmin',//超级管理员识别 'USER_AUTH_ON' => true, //是否需要认证 'USER_AUTH_TYPE' => 1, //认证类型 1-登陆后认证,2-实时认证

LINUX:浅谈目录与普通文件权限的意义

目录和常规文件一样使用相同的权限位进行标识,但是它们的翻译不同. 目录的读权限允许用户使用该权限列出目录内容. 写权限意味着用户使用该权限能够在目录 中创建或者删除文件. 执行权限允许用户输入目录并访问任意子目录.没有执行权限,目录下的文件系统对象就是不可访问的. 没有读权限,目录下的文件系统对象 在目录清单下就是不可见的,但是如果知道磁盘上对象的完整路径,这些对象仍是可访问的. 目录与普通文件的权限意义并不相同,这是因为目录与文件所记录的数据内容不相同导致. 对于普通文件的权限: r(read

浅谈linux中umask值及其对应的文件权限

最近刚好系统学习到linux文件权限这一块,在"umask值及其对应的文件权限"这一个问题上,找过视频看(老男孩老师的视频,强烈推荐),也看过鸟哥的书,当然也在网上找了找,发现计算方法都是多种多样的,但是个人觉得掌握一种就好了,看了各种方法,觉得其实大多数都是在找规律,不是找规律的又实在是太复杂,因此个人感觉不太好记,时间一长可能就忘记了,于是就根据自己的理解,做各种测试,发现有了如下更好的方法.(从理解和记忆的层次上更好的方法)  1.问题引出:设置umask为004与005时,创建

Linux chmod命令修改文件与文件夹权限的命令附实例

Linux chmod命令修改文件与文件夹权限的命令附实例 作者:佚名 字体:[增加 减小] 来源:互联网 时间:05-01 20:46:07我要评论 在linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,下面我写了几个简单的实例大家可参考一下 语法:chmod [who] [+ | - | =] [mode] 文件名 命令中各选项的含义为 u 表示“用户(user)”,即文件或目录的所有者.g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户.