我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CentOS系统特殊权限有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CentOS系统特殊权限有哪些

这篇文章主要讲解了“CentOS系统特殊权限有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS系统特殊权限有哪些”吧!

1.什么是特殊权限?

我们知道权限有r,w,x。其实除了这三个,还有特殊权限。比如:

[root@localhost ~]# ls -l /usr/bin/passwd

                                     -rwsr-xr-x 1 root root 22960 Jul 17  2006 /usr/bin/passwd

可以发现权限位,有个s。特殊权限有如下3种:

SUID

SGID

STICKY

2.关于suid

我们知道linux有一个进程安全模型的概念,比如Tom执行passwd来进行修改密码:

第一,注意到passwd的权限为:

[hadoop@localhost ~]$ ls -l `which passwd`

-rwsr-xr-x 1 root root 22960 Jul 17  2006 /usr/bin/passwd

第二,注意到Tom不是root用户,也不属于root组。

我们先不考虑什么特殊权限s。很显然,此时Tom只能以other(r-x)来运行passwd。Tom可以发起一个进程,这个进程是passwd,想修改自己的密码。

第三,用户Tom执行完passwd修改密码,其实就是保存至/etc/shadow中,下面我们看看/etc/shadow文件的权限情况。

[hadoop@localhost ~]$ ls -l /etc/shadow

-r-------- 1 root root 2713 Jun 13 16:34 /etc/shadow

[hadoop@localhost ~]$ 

那个属于Tom的修改密码的进程应该要去修改/etc/shadow文件,但是根据上面的/etc/shadow的权限,除了root用户外,谁都不可以修改的!也就是说,根据进程安全模型,普通用户根本无法修改密码!但事实上,是可以修改的。原因就在于那个特殊权限s。

也就是说,suid表示运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者。也就是说普通用户去执行passwd修改密码,其实是发起了一个进程,这个进程的属主是root用户,那么很显然就可以修改shadow这个影子文件了。

3.关于sgid

根据suid的理解,可知sgid表示运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者的基本组。可以举例分析:

第一:root用户创建了一个项目目录

[root@localhost /]# 

[root@localhost /]# ls -ld /project/cma

drwxrwxr-x 2 root develop 4096 Jun 14 22:14 /project/cma

第二:项目组成员java01,java02,...均属于develop组(他们的附加组),也就是说他们对/project/cma具有rwx权限。

[java02@localhost cma]$ ls -l

total 8

-rw-rw-r-- 1 java01 java01 0 Jun 14 22:24 01.java

-rw-rw-r-- 1 java02 java02 0 Jun 14 22:25 02.java

上面看到他们可以在/project/cma中创建文件,根据以前的理论:【谁创建的文件,文件的属主就是谁,属组就是他的基本组】,上面的没有问题。但是,我们希望这些项目组成员之间可以相互编辑其他人的文件,该如何做呢?

第三:由于项目组成员java02,并不属于java01的私有组,显然java02只对01.java具有r--权限,不可以编辑。此时我们可以使用sgid,来改变默认的这种行为~

[root@localhost cma]# pwd

/project/cma

[root@localhost cma]# chmod -R g+s /project/cma 

[root@localhost cma]# ls -ld

drwxrwsr-x 2 root develop 4096 Jun 14 22:25 .

[root@localhost cma]# 

注意了,出现了特殊权限位s,但是有时候可能会显示S。【如果是s说明这个权限位上以前是具有x权限的】

第四:利用sgid后,以后我们的项目组成员便可以在此目录下编辑其他成员的文件了。

[java02@localhost cma]$ ls -l

total 16

-rw-rwSr-- 1 java01 java01  0 Jun 14 22:24 01.java

-rw-rw-r-- 1 java01 develop 0 Jun 14 22:33 01.txt

-rw-rwSr-- 1 java02 java02  0 Jun 14 22:25 02.java

-rw-rw-r-- 1 java02 develop 0 Jun 14 22:33 02.txt

[java02@localhost cma]$ 

也就是说利用sgid可以帮我们达到这样的目的:

在目录下创建的文件的属组不在是用户的基本组,而是目录的属组。

4.关于sticky

此时此刻,我们的项目组成员已经可以相互编辑/project/cma下面的文件了,但是有个要求:我们希望用户只能删除自己的文件,而不可以删除别人的文件。这就要使用sticky了。

[root@localhost cma]# chmod -R o+t /project/cma

[java01@localhost cma]$ id

uid=5016(java01) gid=5016(java01) groups=5016(java01),5018(develop) context=root:system_r:unconfined_t:SystemLow-SystemHigh

[java01@localhost cma]$ rm 02.txt

rm: cannot remove `02.txt': Operation not permitted

5.串联

还记得umask吗,umask其实就是一个XYZW,四位数,其中X表示的就是suid/sgid/striky。

chmod xyzw file,其实同理。

000 nothing

001 only striky

010 only sgid

100 only suid

......

感谢各位的阅读,以上就是“CentOS系统特殊权限有哪些”的内容了,经过本文的学习后,相信大家对CentOS系统特殊权限有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CentOS系统特殊权限有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CentOS系统特殊权限有哪些

这篇文章主要讲解了“CentOS系统特殊权限有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS系统特殊权限有哪些”吧!1.什么是特殊权限?我们知道权限有r,w,x。其实除了这三
2023-06-10

Linux系统文件的默认权限和特殊权限

默认权限 umask[root@CentOS7 data]# touch file1 ; ll file1 -rw-r--r--. 1 root root 0 Oct 9 13:55 file1 [root@CentOS7 data]# m
2022-06-04

Linux系统文件权限有哪些

本篇内容介绍了“Linux系统文件权限有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!常用权限linux系统内有档案有三种身份 u:拥有
2023-06-27

windows系统中输入法特殊符号打法有哪些

这期内容当中小编将会给大家带来有关windows系统中输入法特殊符号打法有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。按住ALT,在小键盘上敲以下的数字,然后松开就出来了     alt+34148
2023-06-14

Linux系统查看文件权限的命令有哪些

本文将为大家详细介绍“Linux系统查看文件权限的命令有哪些”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“Linux系统查看文件权限的命令有哪些”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容
2023-06-28

win7系统有哪些特点

这篇“win7系统有哪些特点”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win7系统有哪些特点”文章吧。(1)更安全* 源
2023-07-01

CentOS常用系统命令有哪些

这篇文章主要讲解了“CentOS常用系统命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS常用系统命令有哪些”吧!# uname -a # 查看内核/操作系统/CPU信息#
2023-06-10

​Cassandra系统的特点有哪些

Cassandra是一款分布式数据库系统,以分布式架构、高吞吐量、低延迟、可扩展性、容错性、无模式架构和轻量级事务支持为特点。它使用CQL查询语言,并支持压缩、二级索引、用户定义函数和物化视图等附加功能。
​Cassandra系统的特点有哪些
2024-04-14

CentOS系统的基础知识有哪些

今天就跟大家聊聊有关CentOS系统的基础知识有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。有些朋友一直对CentOS系统云里雾里的, 觉得很奇怪,如果没有图形界面,我的光盘中
2023-06-16

windows操作系统有哪些特点

这篇文章主要介绍了windows操作系统有哪些特点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows操作系统有哪些特点文章都会有所收获,下面我们一起来看看吧。window
2023-03-22

Linux操作系统有哪些特点

本文小编为大家详细介绍“Linux操作系统有哪些特点”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux操作系统有哪些特点”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。linux是用C语言和汇编语言写的。C
2023-06-29

CentOS EXT4文件系统的功能有哪些

这篇文章主要讲解了“CentOS EXT4文件系统的功能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS EXT4文件系统的功能有哪些”吧!Linux kernel 自 2.
2023-06-10

CentOS系统中有哪些常用的命令

这期内容当中小编将会给大家带来有关CentOS系统中有哪些常用的命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。# uname -a# 查看内核/操作系统/CPU信息# head -n 1 /etc/i
2023-06-07

Windows12 Lite版本系统有哪些特点

这篇文章主要介绍了Windows12 Lite版本系统有哪些特点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows12 Lite版本系统有哪些特点文章都会有所收获,下面我们一起来看看吧。1.Windo
2023-07-01

CentOS系统的基础优化知识有哪些

本篇内容介绍了“CentOS系统的基础优化知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!优化的总结: 1、不用root管理,以普通
2023-06-10

Linux系统查看Centos版本命令有哪些

这篇文章主要为大家展示了Linux系统查看Centos版本命令有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统查看Centos版本命令有哪些”这篇文章吧。环境:CentOS 6.
2023-06-28

linux系统提权常用方法有哪些

在Linux系统中,常用的提权方法有以下几种:1. 利用已知漏洞:通过利用已知的系统或软件漏洞,获取root权限。常见的漏洞包括内核漏洞、Sudo漏洞等。2. 提权工具:使用专门的提权工具,如suid提权工具、suid提权脚本等,来获取ro
2023-08-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录