开始学习Linux里面的文件权限时,也是蒙蒙的,似懂非懂(尤其是s权限,当时看书的时候一时理解了,过段时间就忘记了)。最近看Unix 环境高级编程的时候,看到第四章第四节(设置用户ID和设置组ID)时才感觉一下明白了?
一、摘自网上查到的关于rwx、rws、rwt的解释:
1、rwx:
linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人
这些身份对于文档又有下面权限 可以用ls -l 文件名 查看权限信息
r:读权限,用户可以读取文档的内容,如用cat,more查看
w:写权限,用户可以编辑文档
x:该目录具有可以被系统执行的权限
2、s权限:
除了读写执行权限外系统还支持强制位(setuid和setgid)和粘滞位(sticky)
setuid: 设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.
当s权限在文件所有者 x 权限位上时,例如:-rwsr-xr-x,此时称为Set UID,简称为SUID的特殊权限,即当执行该文件时将具有该文件所有者的权限。
例如:有一个普通用户user1,当user1修改密码时,执行passwd(passwd该文件权限为:-rwsr-xr-x. 1 root root)这个命令
1. user1对于 /usr/bin/passwd 这个程序具有 x(执行)权限,表