虽然通过ACL增加了权限设置的灵活性,但是Linux系统中可供设置的权限只有读、写、执行三种,在某些特殊的场合,这可能将无法满足要求。因而,在Linux系统中还提供了几种特殊的附加权限,用于为文件或目录提供额外的控制方式,可用的附加权限包括:SET位权限(SUID、SGID)和粘滞位权限(Sticky Bit)。本文将介绍SET位权限。

SET位权限多用于给可执行的程序文件或目录进行设置,其中SUID表示对所有者用户添加SET位权限,SGID表示对所属组内的用户添加SET位权限。当一个可执行文件被设置了SUID、SGID权限后,任何用户在执行该文件时,将获得该文件所有者、所属组相对应的权限。

SET位权限的权限字符为“s”,设置SET位权限同样要通过chmod命令实现,可以使用“u+s”、“g+s”的权限模式分别用于设置SUID、SGID权限。

设置SUID、SGID权限后,使用ls命令查看文件的属性时,对应位置的“x”将变为s,表示该文件在执行时将以所有者或所属组的身份访问系统。注意,如果文件原来位置有x权限,执行该命令后其权限字符为小写s;若文件原位没有x权限,则设置权限后将显示为大写字符S。

(1)设置SUID

例:查看passwd命令所对应的程序文件的属性信息。[root@localhost ~]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd

/usr/bin/passwd文件的权限是“rwsr-xr-x”,SET位权限设置在第一组,表示针对所有者用户设置,因而称为SUID。这样当其他用户执行passwd命令时,会自动以文件所有者root用户的身份去执行。

SUID仅能针对可执行文件设置,对于目录无效。

由于SUID权限会改变用户身份,这给系统带来了一定的安全隐患,因而一般不建议我们自己去设置SUID,但是系统中有不少默认已经设置了SUID权限的可执行文件,我们能了解其用途即可。

系统中常见的已经设置了SUID权限的可执行文件还包括:[root@localhost ~]# ll /bin/su

-rwsr-xr-x. 1 root root 34904 4月 17 2012 /bin/su

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

-rwsr-xr-x. 1 root root 76056 4月 6 2012 /bin/mount

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

-rwsr-xr-x. 1 root root 40760 3月 22 2011 /bin/ping

例:去除/bin/ping的SUID权限:[root@localhost ~]# chmod u-s /bin/ping

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

-rwxr-xr-x 1 root root 37312 2009-04-24 /bin/ping

(2)设置SGID

如果SET位权限设置在所属组所对应的第二组权限位时,那么就称为SGID。

SGID可以针对可执行文件设置,也可以针对目录设置,但是所表达的含义却截然不同:文件:如果针对文件设置SGID,则不论使用者是谁,他在执行该程序的时候,都将以文件所属组成员的身份去执行。

目录:如果针对目录设置SGID,则在该目录内所建立的文件或子目录的所属组,将会自动成为此目录的所属组。

一般来说,SGID通常用于目录的权限设置。

例如,设置/home/test目录的所有者是student,所属组是users,权限是770,默认情况下在该目录下创建的文件的所有者和所属组都是创建者,如下所示。[root@localhost ~]# ll -d /home/test

drwxrwx---. 2 student users 4096 12月 2 21:46 /home/test

[root@localhost ~]#touch /home/test/file1

[root@localhost ~]#ll /home/test

总用量 0

-rw-r--r--. 1 root root 0 12月 2 21:47 file1

为/home/test目录设置SGID权限,再在目录中创建文件时,文件的所属组将被自动设置为目录的所属组users,如下所示。[root@localhost ~]# chmod g+s /home/test

[root@localhost ~]# ll -d /home/test

drwxrws---. 2 student users 4096 12月 2 21:47 /home/test

[root@localhost ~]# touch /home/test/file2

[root@localhost ~]# ll /home/test

总用量 0

-rw-r--r--. 1 root root 0 12月 2 21:47 file1

-rw-r--r--. 1 root users 0 12月 2 21:50 file2

SUID权限在生产环境中被广泛用于协同办公。当为目录设置了SUID权限之后,所有用户在该目录中创建的文件都将属于同一个用户组,这样只要是该组的成员都将自动拥有对文件的相应权限,以方便同组成员之间的文件修改和信息交流。

linux下设置set位权限,网络安全系列之四十 在Linux中设置SET位权限相关推荐

  1. linux网络相关日志,网络安全系列之十五 Linux日志管理1

    Linux服务器一般都是被放置在机房中自动运行,管理员要了解服务器或是应用程序的运行状态,大都需要通过日志.日志文件用于记录Linux系统中各种运行消息,不同的日志文件记载了不同类型的信息,例如Lin ...

  2. 网络安全系列之四十六 在IIS6中配置目录安全性

    Web站点默认是允许匿名访问的,某些特殊网站(或者虚拟目录)如果要求用户提供账号和密码才能访问,或者限定某些IP地址能(或不能)访问,那可以通过在Web站点属性的"目录安全性"选项 ...

  3. Linux下将数据文件的指定域读取到shell脚本中

    Linux下将数据文件的指定域读取到shell脚本中 这个例子说明了怎样在Linux下shell脚本中从数据文件读取特定的域(field)并进行操作.例如,假设文件employees.txt的格式是{ ...

  4. 1.在Linux下如何使用软盘、光盘以及DOS等非Linux分区

    1.在Linux下如何使用软盘.光盘以及DOS等非Linux分区 这是Linux初学者问得最多的问题.由于大家已习惯了微软的访问方法,总想用类似的思路来找到软盘和光盘.但在Linux下,却沿袭了UNI ...

  5. java对输入的电话号码进行匹配(1、位数为11位 2、纯数字 3、以1开头第二位必须是3、7、8中的一位)

    package com.oneProject; /* 题目: 1.对输入的电话号码进行匹配(1.位数为11位 2.纯数字 3.以1开头第二位必须是3.7.8中的一位) */ import java.u ...

  6. 软考高级信息系统项目管理师系列之四十九:量化的项目管理

    软考高级信息系统项目管理师系列之四十九:量化的项目管理 一.量化的项目管理内容 二.量化的项目管理概述 三.量化的项目管理过程 四.量化的项目管理工具 量化的项目管理涉及单项选择题类型,分值为1分左右 ...

  7. 软考高级信息系统项目管理师系列之四十五:信息系统综合测试与管理

    软考高级信息系统项目管理师系列之四十五:信息系统综合测试与管理 一.信息系统综合测试与管理 二.软件测试模型 1.V模型 2.W模型 3.H模型 4.X模型 5.前置测试模型 三.软件测试类型 1.按 ...

  8. Linux下的文件共享全攻略系列之一:Samba服务器简介与快速配置指南

    目前,研究者们开发了许多网络服务和协议来完成资源共享的功能.对于网络用户和管理员来说,他们希望得到免费和高效的服务,而这种需求的最好选择莫过于当前开源的操作系统Linux下的产品了.本专题从多个应用服 ...

  9. LINUX下使用elasticsearch-jdbc工具实现MySQL同步到ElasticSearch 以及linux 64位centos系统安装jdk1.8

    标签: 第一步:环境匹配 1)elasticsearch 2.3.3 成功安装部署  2)mysql安装成功,增删改查无误~~. 3)要保证elasticsearch-jdbc的版本要与elastic ...

  10. Linux下的文件共享全攻略系列之二:NFS快速配置教程与安全策略

    目前,研究者们开发了许多网络服务和协议来完成资源共享的功能.对于网络用户和管理员来说,他们希望得到免费和高效的服务,而这种需求的最好选择莫过于当前开源的操作系统Linux下的产品了.本专题从多个应用服 ...

最新文章

  1. 工作中技术学习总结-初版
  2. 013_SpringBoot视图层技术thymeleaf-迭代遍历
  3. mysql bind param_为什么bindParam必须要指定类型?
  4. Java客户端操作zookeeper:获取/节点的子节点代码示例
  5. vmware的win98安装声音驱动
  6. GoldenGate Logdump基本使用
  7. 所有程序员都应该遵守的11条规则
  8. mysql max字符串报错_mysql [Warning] max_join_size报错问题解决办法
  9. elasticsearch中集群选举中的ping源码解析
  10. 软件测试笔试Linux题,linux基础面试题
  11. Menubutton按钮弹出菜单
  12. mysql与nagios的结合使用
  13. java socket php_Web架构(二)PHP Socket与Java ServerSocket交互
  14. 数学建模论文分析--2015A高教社杯--太阳影子定位的多目标优化模型
  15. 电脑分屏没有声音_怎样解决qq屏幕分享没有声音问题
  16. 微软和美国航空航天局(NASA)强强联手,推出Python免费课程
  17. 浅谈什么是SEO?如何优化SEO?
  18. centos7搭建elastiflow
  19. PDF怎么免费转换成Excel?
  20. 中秋将至,想吃月饼了吗?

热门文章

  1. 动画演示Sunday字符串匹配算法——比KMP算法快七倍!极易理解!
  2. Linux作业--利用RAID技术实现磁盘阵列的管理方法
  3. xmind各版本区别_XMind各版本功能对比1.PDF
  4. 达尔豪斯大学计算机科学世界排名,最新达尔豪斯大学世界排名抢先看 QS世界大学排名TOP300...
  5. mvc路由原理 php_s-blog博客系统开发之前端路由配置
  6. qt tabwidget 设置tab 位置_qml创建TabWidget的案例
  7. 人之间的尊重是相互的_人与人之间,最长久的关系,不是友情,不是爱情,而是…… ( 好文 )...
  8. mysql导出数据大概得多久_MySQL 导出数据
  9. Linux CAT与ECHO命令详解 <<EOF EOF
  10. “echo ”和“echo ”的区别