特殊权限(基于执行权的)

1、suid 设置用户编号

只针对文件

suid 作用:给一个执行文件设置该权限后,任何能够执行该文件的

用户都以该文件拥有者的身份去运行

设置完毕后所属组位置的x会被替换为s,若s小写则表示所属人的执行权限还在,

若S大写则表示所属人的执行权限不在

例子:/usr/bin/passwd文件的权限是-rwsr-xr-x,普通用户(other)对该文件无w权限,但因为有x权限,且具有suid的特殊权限,所以以该文件拥有者(root)的身份去运行,在运行该文件过程中拥有root账户的权限,从而可以实现修改密码

设置方法

chmod u+s 文件路径

-rwxr-xr-x. 1 root root 2289656 Jun 10 2014 /usr/bin/vim

注:SetUID很危险,如果把vim命令设置了SUID,那么普通用户就可以用vim修改系统所有配置文件,比如把/etc/passwd文件中自己的用户分类修改成0(超级用户)。

2、Sgid 设置组编号

针对文件时:

给一个执行文件设置该权限后,任何能够执行此文件的

用户都以该文件的属组的身份去

运行

设置完毕后所属组位置的x会被替换为s,若s小写则表示所属人的执行权限还在,若S大写则表示所属人的执行权限不在

针对目录时:

权限的继承,给目录设置sgid权限后

任何人在此目录下

创建内容,内容的属组与该目录所属组一致,

设置完毕后所属组位置的x会被替换为s,若s小写则表示所属人的执行权限还在, 若S大写则表示所属人的执行权限不在

设置方法

chmod g+s 路径 /share

设置完毕后所属组位置的x会被替换为s,若s小写则表示所属人的执行权限还在,

若S大写则表示所属人的执行权限不在

例子: 在/tmp 目录下新建一个目录,设置sgid 权限后,新建用户,在/tmp目录中新建目录,查看权限

3、sbit 对权限的收缩

只对目录有效,一旦设定,那么该目录中存放的内容只能被内容的所属人删除,也就是说用户在该目录下只能删除属于自己的文件

设置方法

chmod o+t 目录路径

设置完毕后其他人位置的x会被替换为t,若t小写则表示所属人的执行权限还在,

若T大写则表示所属人的执行权限不在

SUID/SGID/SBIT权限设置

有两种方式,一种是以字符,一种是以数字。

特殊权限 数字表达 权限设置方法

suid 4

sgid 2

sbit 1

下面我们就来看看如何设置,并看看达到的效果。

先看SUID的作用及设置

ls -l /usr/bin/vim

-rwxr-xr-x. 1 root root 2289656 Jun 10 2014 /usr/bin/vim 是一个二进制文件

讲vim 命令赋予 suid 权限

chmod u+s /usr/bin/vim

-rwsr-xr-x. 1 root root 2289656 Jun 10 2014 /usr/bin/vim

我们使用 vim 直接编辑我们的/etc/passwd 这个存放用户信息的文件,看看其他用户能否编辑(在不设置suid 的情况下肯定其他用户是不可以编辑的)

su - hjk

vim /etc/passwd

切换到hjk普通用户上,我们可以直接把hjk用户的uid 改为0

那就表示 我们的hjk 用户借用了我们vim 拥有者的root的身份去执行

这样会给我们的系统造成很大的威胁 , 所以 请善用 suid 权限

接着看 sgid 的效果

这里我就直接演示 目录设置sgid 权限的效果

给/tmp 目录设置sgid 权限后,切换用户,在/tmp目录中新建目录,查看权限

ls -ld /tmp

drwx---rwx. 10 root root 4096 Apr 11 22:37 /tmp

任何用户都可以在/tmp 目录下去创建内容

chmod g+s /tmp

ls -ld /tmp

su - hjk

cd /tmp

mkdir test

我们发现 创建的test 目录的所属组 变为了我们 父目录tmp 目录的所属组root

这就表明,我们在此目录下创建内容,我们的root管理员都可以进行管理

最后 我们 看下 sbit 权限的效果

同样 我们还是以 /tmp 目录作为例子 ,设置 sbit 权限

[root@feixiangkeji tmp]# ls -ld /tmp

drwx---rwx. 9 root root 4096 Apr 11 22:51 /tmp

[root@feixiangkeji tmp]# chmod o+t /tmp 设置sbit 权限

[root@feixiangkeji tmp]# ls -ld /tmp

drwx---rwt. 9 root root 4096 Apr 11 22:51 /tmp

su - hjk 切换到 hjk 普通用户上

mkdir /tmp/test

ls -ld/tmp/test

drwxrwxr-x 2 hjk hjk 4096 Apr 11 22:54 test

su - test 切换到 test 普通用户上

mkdir /tmp/hjk

ls -ld /tmp/hjk

drwxrwxr-x 2 test test 4096 Apr 11 22:57 hjk

看看是否可以删除 hjk 用户的test 目录

rm -rf test

权限拒绝

那么 ,我们就可以得到结论,任何用户在设置sbit 的目录下创建的内容只能自己和root 超级管理员可以管理,其他用户没有权限管理!

ok ,那我们 标准的共享目录的权限 就是 3777 (sgid + sbit )

装载自:https://baijiahao.baidu.com/s?id=1597532383959518765&wfr=spider&for=pc

Linux之特殊权限相关推荐

  1. Linux之文件权限命令

    Linux之文件权限命令 1. chmod命令的介绍 命令 说明 chmod 修改文件权限 chmod修改文件权限有两种方式: 字母法 数字法 2. chmod 字母法的使用 角色说明: 角色 说明 ...

  2. Linux的文件权限

    Linux一般将文件可存取访问的身份分为3个类别:owner.group.others,且3种身份各有read.write.execute等权限. 一.用户和用户组 1.文件所有者 由于Linux是多 ...

  3. Linux修改文件权限为777

    将文件权限改为777的命令为chmod 777 文件名 777说明: 你可以在linux终端先输入ll,可以看到如:    -rwx-r--r-- (一共10个参数) 第一个跟参数跟chmod无关,先 ...

  4. 查看linux文件的权限:ls -l 文件名称

    查看linux文件的权限:ls -l 文件名称 查看linux文件夹的权限:ls -ld 文件夹名称(所在目录) 修改文件及文件夹权限: sudo chmod -(代表类型)×××(所有者)×××(组 ...

  5. linux文件的权限模式,Linux文件权限和访问模式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  6. linux目录默认权限是什么,linux文件目录默认权限(详解)

    1.文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw) 2.由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwxrwxrwx) 查看默认权限需要使用umas ...

  7. linux两种方式改变文件权限,Linux更改文件权限的两种方式

    今天小编要跟大家分享一篇关于Linux更改文件权限的方式,喜欢Linux的小伙伴来看一看吧. 我们知道·Linux系统最主要的特点之一就是--Linux系统是多用户.多任务的操作系统. 何为多用户?就 ...

  8. linux下sudo权限管理

    linux下sudo权限管理 1.修改/etc/sudoers下文件 2.文件格式为 user_flag host_flag=(runlevel_flag) command_flag 分别代表用户名 ...

  9. linux用数字方式显示文件权限,全面解析Linux数字文件权限

    在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细介绍一下数字文件权限和字母文件权限的对应关系,以帮助Linux入门初学者尽快的完成对文件权限的理解,尽快学习Linux系统更深层次内容. ...

  10. linux中用户的权限是什么,linux中用户权限设置与更改相关介绍(上)

    不管是在生活中还是在工作中,我们都会经常碰到关于电脑权限方面的一些问题.现在介绍一下在linux系统中关于如何设置和管理用户的权限问题,介绍基本但很重要的命令. 在Linux中,权限分为三大类:基本权 ...

最新文章

  1. 总线的性能指标,包括总线频率,宽度,和带宽(微机接口技术)
  2. sql server支持gb18030里面的疑难中文字
  3. Java并发编程的艺术(二)——重排序
  4. 十六进制转double
  5. TCP/IP协议各层首部汇总
  6. 机器学习预测港股打新收益
  7. tensorflow之conv2d
  8. Pytorch——Tensor合并+截取+拼接
  9. 权限系统(第一次测试)
  10. java重置radiobutton的选项_动态添加试题选项按钮 radioButton(一)
  11. c# Dll反编译查看原文件
  12. 周公解梦|做梦的解释|鬼压床|为什么会做梦
  13. 无线联网常见问题[1]-搜不到无线网络(请先耐心看完)
  14. 文件服务器如何设置配额,文件服务器设置配额
  15. Android 系统服务
  16. crucible3.x +fisheye3.x 安装和破解
  17. C Primer Plus(第六版)第三章 数据和C
  18. Windows7安装mysql-压缩包方式
  19. android调用外部导航(百度,高德)
  20. php微信获取素材列表,20.6.7 获取素材列表

热门文章

  1. python用什么软件编程-python开发用什么编辑器
  2. 如何自学python知乎-初次接触python,怎么样系统的自学呢?
  3. 简单python脚本实例-python常用运维脚本实例
  4. mysql排序规则选什么区别_mysql – 字符集和排序规则是什么意思?
  5. 数据库软删除php,应用 Laravel 的软删除你需要注意的几点
  6. winform 往第三方传值 put
  7. 数据结构和算法笔记:基数排序
  8. python写一个笔记软件_科学网—python学习笔记(1)——创建应用 - 高雪峰的博文...
  9. jQuery ajax post put 请求
  10. Bootstrap 下拉菜单事件