Linux中的特殊权限

Linux中除了普通权限之外,还有三个特殊权限。

       SUID::以文件的所属用户执行,而非执行文件的用户,多用于可执行文件,设置suid后,在权限位中,所属用户的 最后一个权限为变为s,添加SUID权限可用“+s”表示。

    例如:passwd

1[adam@ultraera ~]$ which passwd 2/usr/bin/passwd 3[adam@ultraera ~]$ ls -/usr/bin/passwd  4-rwsr-xr-x. 1 root root 25980 Feb 22  2012 /usr/bin/passwd 5[adam@ultraera ~]$

        SGID:主要针对文件夹,在设置了SGID的文件夹中创建任何新文件都继承该文件的所属组,设置sgid后,在权限位中,所属组的最后一个权限位变为s,添加SGID权限可用“+s”表示。

例如:

1[adam@ultraera ~]$ mkdir ultraera 2[adam@ultraera ~]$ ls -l 3total 4 4drwxrwxr-2 adam adam 4096 Nov 27 21:09 ultraera 5[adam@ultraera ~]$ chmod g+s ultraera/ 6[adam@ultraera ~]$ ls -l 7total 4 8drwxrwsr-2 adam adam 4096 Nov 27 21:09 ultraera 9[adam@ultraera ~]$ su  10Password:  11[root@ultraera adam]# mkdir -p ultraera/test 12[root@ultraera adam]# ls -l ultraera/ 13total 4 14drwxr-sr-2 root adam 4096 Nov 27 21:09 test 15[root@ultraera adam]#

        sticky:针对文件夹,对目录拥有写权限的用户,仅可以删除其所拥有的文件,无法删除其他用户所拥有的文件,设置了sticky之后,在权限位,other的最后一个权限位变为t,添加SGID权限可用“+t”表示。

例如:

1[root@ultraera tmp]# mkdir ultraera 2[root@ultraera tmp]# chmod a=rwx,o+t ultraera/ 3[root@ultraera tmp]# ls -ld ultraera/ 4drwxrwxrwt 2 root root 4096 Nov 27 21:29 ultraera/ 5[root@ultraera tmp]# useradd user1 6[root@ultraera tmp]# useradd user2 7[root@ultraera tmp]# su user1 8[user1@ultraera tmp]$ touch ./ultraera/test 9[user1@ultraera tmp]$ ls -l ultraera/ 10total 0 11-rw-rw-r-- 1 user1 user1 0 Nov 27 21:31 test 12[user1@ultraera tmp]$ exit 13exit 14[root@ultraera tmp]# su user2 15[user2@ultraera tmp]$ rm -./ultraera/test  16rm: cannot remove `./ultraera/test': Operation not permitted 17[user2@ultraera tmp]$

同样使用chmod来设定特殊权限,与普通权限一样,特殊权限也可以用数字表示:

suid : 4

sgid : 2

sticky : 1

1chmod  4644 filename                  #设置文件suid权限 2chmod  2755 flodername             #设置文件夹sgid权限 3chmod  1755 flodername             #设置文件夹sticky权限

好了,以上是所有内容了.

如果你文章中有不正确的地方,或者你有更好的idea。

欢迎来和我分享。E-mail:luchuanjia@msn.com

本文出自 “一杯白开水” 博客,请务必保留此出处http://ultraera.blog.51cto.com/6640392/1583493

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )