Linux系统管理_附加控制权限-Redhat Enterprise 5

附加权限控制

即特殊权限:

-叠加于权限位的u、g、o之上

-用来传递程序执行身份、限制目录写入权

类别

字符标示

数字标示

叠加位置

Set UID

s

4

User的x位

Set GID

s

2

Group的x位

Sticky Bit

t

1

Other的x位

一,SUID

仅对可执行程序有效

占用该命令所属主的x位

显示为s或者S,取决于属主是否具有x权限,有x权限为s,没有则为S,其他用户执行带有SUID标记的程序时,将具有属主的身份和相应权限。

注:一般程序为管理员root用户拥有

一个程序的SUID位为S是没有,因为为S的前提是该程序一定没有x权限,如果一个程序没有x权限,也就不能称为可执行程序了。

如果为S,则可以通过chmod u+x 程序来将其SUID位修改为s !!!

示例:

mkdir属于命令的所有者为root,那么为mkdir分配了SUID之后,普通用户使用mkdir创建的目录由于SUID的存在,所有者将属于mkdir的所有者root。

[root@localhost ~]# cp /bin/mkdir /bin/smkdir

[root@localhost ~]# ll /bin/smkdir

-rwxr-xr-x 1 root root 28016 02-19 23:41 /bin/smkdir

[root@localhost ~]# chmod u+s /bin/smkdir   //给smkdir命令添加SUID权限

[root@localhost ~]# ll /bin/smkdir

-rwsr-xr-x 1 root root28016 02-19 23:41 /bin/smkdir

[root@localhost ~]# su  - user1

[user1@localhost ~]$smkdir test1

[user1@localhost ~]$ll //可以看到新建的文件所有者为smkdir的所有者root

总计 4

drwxrwxr-x2 root user1 4096 02-19 23:41 test1

[user1@localhost ~]$

二,SGID

对程序和目录有效

显示为s或S,取决于属组是否有x权限,如果有x权限则为s,没有的话为S。

1,对程序来说,其他用户执行带有GUID标记的程序时,具有该命令所属组的身份和相应权限;

示例:使用上面的smkdir命令,移除其SUID权限,并设置为SGID权限,那么普通用户使用smkdir创建一个目录是,所属组将为smkdir的所属组root

[root@localhost ~]# ll /bin/smkdir

-rwsr-xr-x 1 rootroot 28016 02-19 23:50 /bin/smkdir

[root@localhost ~]# chmod u-s /bin/smkdir

[root@localhost ~]#ll /bin/smkdir

-rwxr-xr-x 1 rootroot 28016 02-19 23:50 /bin/smkdir

[root@localhost ~]# chmod g+s /bin/smkdir   //增加其smkdir的GUID权限

[root@localhost ~]#ll /bin/smkdir

-rwxr-sr-x 1 rootroot 28016 02-19 23:50 /bin/smkdir

[root@localhost ~]# su - user1

[user1@localhost ~]$smkdir test2

[user1@localhost ~]$ll     //可以看到test2的所属组为root

总计 8

drwxrwxr-x2 root  user1 4096 02-19 23:54 test1

drwxrwxr-x2 user1 root 4096 02-19 23:52 test2

[user1@localhost ~]$

2,对于目录来说,其他用户在此目录中创建的文件或文件夹所属组应该为该目录的所属组。

示例:

[root@localhost ~]# mkdir /abc

[root@localhost ~]# ll -d /abc/

drwxr-xr-x 2 rootroot 4096 02-19 23:56 /abc/

[root@localhost ~]# chmod 777 /abc/

[root@localhost ~]# chmod g+s /abc/

[root@localhost ~]# ll -d /abc/

drwxrwsrwx 2 rootroot 4096 02-19 23:56 /abc/

[root@localhost ~]# su - user1

[user1@localhost ~]$cd /abc/

[user1@localhostabc]$ touch file1.txt

[user1@localhostabc]$ mkdir test1

[user1@localhostabc]$ ll -d ./test1/ ./file1.txt   //可以看到file1.txt和test1的所属组都为该目录/abc的所属组。

-rw-rw-r--1 user1 root    0 02-19 23:58 ./file1.txt

drwxrwsr-x2 user1 root 4096 02-19 23:58 ./test1/

[user1@localhostabc]$

三:Sticky Bit

对目录来说

-占用other分组的x位,显示为t

-仅当用户对目录有w写入权限是才生效

-效果:在设置了粘滞位的文件夹下,所有用户有写入权限,也不能删除或改名他人的文档。

-应用:主要用户公共目录的用户文件或目录的安全

示例:

在根目录下新建一个目录public,并将其权限设置为777;分别创建user1、user2和user3三个用户,并分别使用user1用户创建文件file1.txt,user2用户创建文件file2.txt,使用user3登录系统,删除file1.txt和file2.txt,可以看到是可以删除的;为/public目录设置粘滞位,然后重复user1、user2和user3的操作,这时可以看到,user3是不能删除file1.txt和file2.txt两个文件的。

第一段:

[root@localhost /]# mkdir public

[root@localhost /]# chmod 777 /public/

[root@localhost /]# ll -d /public/

drwxrwxrwx 2 rootroot 4096 02-17 18:52 /public/

[root@localhost /]# useradd user1

[root@localhost /]# useradd user2

[root@localhost /]# useradd user3

[root@localhost /]# cd public/

[root@localhostpublic]# su user1//切换到user1用户并创建文件

[user1@localhostpublic]$ touch file1.txt

[user1@localhostpublic]$ exit

exit

[root@localhostpublic]# su user2

[user2@localhostpublic]$ touch file2.txt

[user2@localhostpublic]$ exit

exit

[root@localhostpublic]# su user3

[user3@localhostpublic]$ ll

总计 0

-rw-rw-r--1 user1 user1 0 02-17 18:53 file1.txt

-rw-rw-r--1 user2 user2 0 02-17 18:53 file2.txt

[user3@localhostpublic]$ rm -rf file*  //user3用户用rm –rf 可以删除user1和user2的文件

[user3@localhostpublic]$ ll

总计 0

第二段:

[user3@localhostpublic]$ exit

exit

[root@localhostpublic]# chmod o+t /public/ //增加粘滞位属性

[root@localhostpublic]# ll -d /public/ //再次查看的时候,发现other用户的可执行权限位置变为了t

drwxrwxrwt 2 rootroot 4096 02-17 18:53 /public/

[root@localhostpublic]# su user1       //再次使用user1,user2创建文件file1.txt和file2.txt

[user1@localhostpublic]$ touch file1.txt

[user1@localhostpublic]$ exit

exit

[root@localhostpublic]# su user2

[user2@localhost public]$touch file2.txt

[user2@localhostpublic]$ su user3

口令:

[user2@localhostpublic]$ exit

exit

[root@localhostpublic]# su user3

[user3@localhostpublic]$ ll

总计 0

-rw-rw-r-- 1 user1user1 0 02-17 18:55 file1.txt

-rw-rw-r-- 1 user2user2 0 02-17 18:56 file2.txt

[user3@localhostpublic]$ rm -rf file*  //这时删除的时候不能删除了,证明了粘滞位的作用

rm: 无法删除 “file1.txt”: 不允许的操作

rm: 无法删除 “file2.txt”: 不允许的操作

[user3@localhostpublic]$

扩展:

Linux系统管理_用户和用户组:http://murongqingqqq.blog.51cto.com/2902694/1360239

Linux系统管理_基本权限和归属:http://murongqingqqq.blog.51cto.com/2902694/1360265

Linux系统管理_ACL访问控制:http://murongqingqqq.blog.51cto.com/2902694/1361506

转载于:https://blog.51cto.com/murongqingqqq/1360874

Linux系统管理_附加控制权限-Redhat Enterprise 5相关推荐

  1. linux xfs字体服务安装6,RedHat Enterprise Linux 5 中文字体安装

    RedHat Enterprise Linux 5是RedHat新出的版本,现在需要在RHEL5下面用到一些中文的东西,NND,发现中文全是方框框,怎么办? 重装?NO,经过仔细分析,发现是没有支持中 ...

  2. linux限制堆栈大小,进程超过RedHat Enterprise Linux 6的线程堆栈大小限制?

    我在RHEL 6.3上运行了几个进程,但由于某种原因,它们超出了线程堆栈大小. 例如,Java进程在启动时在运行时被赋予-Xss256k的堆栈大小,并且在实际代码中使用pthread_attr_set ...

  3. Linux系统管理_ACL访问控制-Redhat Enterprise 5

    Linux系统管理_ACL访问控制_Redhat Enterprise 5 概述:访问控制,当文件或目录的权限不能在完全满足访问控制的实现时,可以使用acl进行设置访问权限. 即,对一个文件或者目录设 ...

  4. Redhat enterprise Linux server 7.2(MaiPO)安装过程

    ** Redhat enterprise Linux server 7.2(MaiPO)安装过程 ** 前言: 本文将简单的介绍Linux的安装过程,介于虚拟机版本与Linux镜像文件的不同,会有一些 ...

  5. Linux网络服务_邮件服务器-Redhat Enterprise 5.9

    Linux网络服务_邮件服务器-Redhat Enterprise 5.9 案例环境: 邮件服务器:mail.tarena.com192.168.1.100 邮件域:@tarena.com 邮件账号: ...

  6. 在RedHat Enterprise Linux 上Oracle 9i的安装配置与调优

    1 安装配置Oracle 9i数据库 本章描述内容如下所示: 1.1 安装前的准备工作 介绍在安装Oracle之前所需的准备工作. 1.2安装前的系统设置 介绍在安装Oracle之前所必须的系统设置. ...

  7. Redhat Enterprise Linux 6 正式版已经发布!

    红帽在(2010年11月10日)发布了其企业级Linux,RHEL 6的正式版 (注:红帽官方已经不用RHEL这个简称了,其全称叫做Red HatEnterpriseLinux). "红帽R ...

  8. linux给目录赋访问权限_【Linux】Linux系统中的权限详解

    我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...

  9. RedHat Enterprise LInux 6.3 安装Oracle Database 11g

    本文描述的是在RHEL 6.3上面安装Oracle 11g的过程,关于RHEL的下载,其实可以去很多的镜像站点下载,例如下载地址,Oracle 11g的下载地址,需要注意的是本文使用的是11.2.0. ...

最新文章

  1. AI一分钟 | 谷歌开发者大会,千人同玩AI小程序;阿里获杭州首张自动驾驶牌照...
  2. iptables踩坑记
  3. FFMPEG AVDictionary 配置参数
  4. sql事务、视图和索引
  5. 学习网站(不断更新)
  6. PyQt5笔记(06) -- 菜单
  7. ubuntu18.04下hadoop安装与集群配置
  8. SpringBoot2 结合BeetlSQL开发
  9. armbian 斐讯n1_[流水账记录] 斐讯N1刷armbian到emmc并安装Docker!
  10. C语言程序设计 课程设计报告
  11. usb打印机命令_自己动手不求人 日常打印机故障全知晓
  12. 数学物理中希腊字母的手写体笔顺及写法
  13. SpringBoot调用腾讯云短信服务
  14. 解决微信公众号注册提示“邮箱已被占用”(亲测)
  15. 服务器虚拟化和桌面虚拟化
  16. Spatial4j简介
  17. 【有源汇上下界可行流】ACM-ICPC 2018 沈阳赛区网络预赛 - F - Fantastic Graph
  18. 音箱高音测试电脑软件,BOSE MusicMonitor电脑扬声器晒单 使用体验_什么值得买
  19. 计算机为什么要用补码?
  20. 1. ELK docker部署

热门文章

  1. XML DataBase之Xindice(二)
  2. SQL Server数据库导入导出数据方式比较
  3. (十二)通过Opencv blobFromImage实现数据标准化
  4. 自动驾驶算法-滤波器系列(六)——10+种经典滤波算法
  5. 【SLAM笔记】如何使用Eigen进行矩阵运算
  6. xbox360 ubuntu14.04连接问题
  7. faster rcnn论文_【论文解读】精读Faster RCNN
  8. mysql异机备份脚本_mysqldump使用rsync异地全量备份数据库
  9. linux下udf光盘权限问题,linux - 关于mysql udf权限的问题?
  10. getprofile()获取不到路径_钰泰推出ETA4098,充电+路径管理+锂电保护三合一,超小封装...