环境:RHEL 7.1
实际使用中,可能会有如下需求:
(1)某些命令需要以命令的属主或属组来运行该命令,而不是以运行该命令的用户来运行(可能也没权限运行)。
例如:passwd 命令
$ ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 35504 Jul 16 2010 /usr/bin/passwd
这里的 u+s,表示以文件的属主运行该文件。
(2)在某个目录中,只允许文件的属主删除属主是自身的文件,不能修改或删除属主是别人的文件。
例如:/tmp 目录
$ls -ld /tmp
drwxrwxrwt. 39 root root 4096 Feb 8 20:52 /tmp
这里的 o+t,表示拥有 write 权限的用户,只允许文件的属主删除属主是自身的文件,不能修改或删除属主是别人的文件。
小结:有三种特殊的权限,这三个数字排在原来三位权限数字的最前面
setuid = u+s = 4
setgid = g+s = 2
sticky = o+t = 1
对文件的影响 对目录的影响
u+s (suid) 以文件的属主运行该文件 没有
g+s (sgid) 以文件的属组运行该文件 在该目录中新创建的文件,将拥有和该目录一样的属组
o+t (sticky) 没有 用户只能删除属主是自身的文件,不能修改或删除属主是别人的文件
使用举例:
(1)# chmod g+s directory
(2)# chmod 2770 directory
实际使用中,可能会有如下需求:
(1)某些命令需要以命令的属主或属组来运行该命令,而不是以运行该命令的用户来运行(可能也没权限运行)。
例如:passwd 命令
$ ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 35504 Jul 16 2010 /usr/bin/passwd
这里的 u+s,表示以文件的属主运行该文件。
(2)在某个目录中,只允许文件的属主删除属主是自身的文件,不能修改或删除属主是别人的文件。
例如:/tmp 目录
$ls -ld /tmp
drwxrwxrwt. 39 root root 4096 Feb 8 20:52 /tmp
这里的 o+t,表示拥有 write 权限的用户,只允许文件的属主删除属主是自身的文件,不能修改或删除属主是别人的文件。
小结:有三种特殊的权限,这三个数字排在原来三位权限数字的最前面
setuid = u+s = 4
setgid = g+s = 2
sticky = o+t = 1
对文件的影响 对目录的影响
u+s (suid) 以文件的属主运行该文件 没有
g+s (sgid) 以文件的属组运行该文件 在该目录中新创建的文件,将拥有和该目录一样的属组
o+t (sticky) 没有 用户只能删除属主是自身的文件,不能修改或删除属主是别人的文件
使用举例:
(1)# chmod g+s directory
(2)# chmod 2770 directory
没有评论:
发表评论