虽然通过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
本文介绍了Linux系统中SET位权限(SUID、SGID)的概念及其应用。SET位权限能够使普通用户在执行特定程序时拥有文件所有者的权限,这对于一些需要高权限但又不想直接赋予用户高权限的情况非常有用。文章通过实例展示了如何使用chmod命令设置SUID权限。
882

被折叠的 条评论
为什么被折叠?



