今天一直在做Samba服务的配置,深感权限控制的难度。文件许可机制是Linux系统的一大特色。除了我们现在熟知的read 、write 和execu
今天一直在做Samba服务的配置,深感权限控制的难度。文件许可机制是Linux系统的一大特色。除了我们现在熟知的read (R)、write (W)和execute (X)权限之外,还有三种特殊权限,分别是:setuid、setgid和stick bit (sticky bit)。
1.setuid和setgid解释
看看它在系统中的什么地方被使用。以/etc/passwd和/usr/bin/passwd为例:
[普通]查看普通副本
[root @ salve 1 school]# ll/etc/passwd/usr/bin/passwd
-rw-r - r - 1 root root 2005年4月23日01:25 /etc/passwd
-rwsr-xr-x 1 root root 23420 2010年8月11日/usr/bin/passwd
[root@Salve1 school]#
分析一下,/etc/passwd的权限是-rw-r-r-即文件的所有者有读写的权限,而用户组成员和其他成员只有查看的权限。我们知道,在系统中,我们需要修改用户的密码。root用户和普通用户都可以使用命令/usr/bin/passwd someuser来修改这个文件/etc/passwd。root本身对/etc/passwd有写权限,这是可以理解的。普通用户呢?这里使用的是setuid。setuid的作用是“让执行命令的用户以命令所有者的权限执行”,即普通用户在执行passwd时会拥有root的权限,这样就可以修改文件/etc/passwd。它的logo是:S,会出现在X的地方,比如:-RWSR-XR-X . setgid的意思和它是一样的,就是让执行文件的用户在文件所属组的权限下执行。
2.粘性钻头(粘性钻头)
看看它在系统中的什么地方被使用。以/tmp为例:
[普通]查看普通副本
[root@Salve1 /]# ll -d /tmp
drwxrwxrwt 13 root root 4096 Apr 23 02:06/tmp
[root@Salve1 /]#
我们知道/tmp是系统的临时文件目录,所有用户都拥有该目录下的所有权限,也就是说可以在该目录下随意创建、修改、删除文件。如果用户A在这个目录中创建了一个文件,而用户B删除了它,我们不能允许这样做。为了实现这一目标,出现了棒形钻头的概念。这是目录。如果目录设置了stick bit,那么这个目录下的文件可以被创建者和root用户删除和修改,其他用户不能碰别人的文件。这就是Stickbit的功能。
3.以上特殊权限如何设置?
Modu XXX #设置setuid权限
更改s XXX #设置setgid权限
modo txxx #设置目录的stick位权限。
Chmod 4775 xxx #设置setuid权限
Chmod 2775 xxx #设置setgid权限
Chmod 1775 xxx #设置目录的stick位权限。
4.注意:有时候你设置了S或者T权限,会发现变成了S或者T,这是因为你没有在那个位置给它X(可执行)权限。在这种情况下,这样的设置将不会有效。可以先给它X权限,再给它S或T权限。
梦见和异性发生了性关系是什么意思?是日有所思夜有所梦吗?
上海别墅装修公司哪家最好?很多上海的用户要装修别墅,都想找一家好的装修公司,可是都...
小编为大家分享三国志战略版吴枪怎么样 三国志战略版吴枪怎么配相关内容,三国志战略版中...
取景器欢迎回来成就攻略很多人都想了解,绝缘是一款全新的解谜游戏,里面的谜题设置都非...
小编为大家分享《抖音》R星出品必属精品梗相关介绍相关内容,抖音上的“R星出品必属精品”...