Linux文件系统权限
1.1 文件的一般权限
1.2 文件和目录的特殊权限
在
Linux
系统中,用户对文件或目录的访问权限除了
r
、
w
、
x
三种一般权限外,还有
SET UID(SUID)
、
SETGID(SGID)、
Sticky Bit(
粘滞位
)
三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制。
1
、
SUID
权限的含义
:是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。
分析:
student
用户要更改自己的密码
■
student
在执行
passwd
修改自己的密码时, 其修改的密码, 最终是需要保存到
/etc/shadow
这个文件中, 而这个文件的权限是
---------
,它的拥有者是
root
,也只有
root
可以
“
强制
”
存储, 其他用户连看都不行。
■
可偏偏
student
去执行
passwd
(
/usr/bin/passwd)
,却可以更新自己的密码。
这就是因为有
s
权限的存在,当
s
权限在拥有者的权限位上时, 即如
-
rwsr
-
xr
-
x
这样时, 称为
SUID
。
SUID
即
Set UID
,
UID
指的是拥有者的的
ID
, 而这个程序
(/usr/bin/passwd)
的拥有者为(root)
。
2
、
SGID
权限
SGID
可以用在两个方面:
■
文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在组将执行该程序的时候,程序的所属会变成该程序文件的所属组。
■
目录, 如 果
SGID
是设置在
A
目录上, 则在
A
目录内所建立的文件或目录的所属组, 将会是此
A目录的所属组。
一 般来说,
SGID
多用在特定的多人团队的项目开发上,在系统中用的很少。