SUID
- SUID权限仅对二进制程序有效;
- 执行者对于该程序需要具有x的可执行权限;
- 本权限尽在执行该程序的过程中有效;
- 执行者将具有该程序拥有者的权限
距离说明
所有账号的密码都记录在etc/shadow文件中,这个文件仅有root可读且仅有root可以强制写入。但一般用户使用passwd命令时却可以修改自己的密码;
①一般用户对于passwd这个程序具有x权限,表名一般用户可以执行passwd
②passwd的拥有者是root
③一般用户执行passwd的过程中会获得root的权限
④/etc/shadow就可以一般用户所执行的passwd修改
操作
①chmod u+s FILE
②chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s,否则显示S
SGID
- 对文件来说
①SGID对二进制程序有用
②程序执行者对于该程序来说,需要具备x的权限
③执行者在执行过程中将会获得该程序用户组的权限 - 对目录来说
①用户若对于此目录具有r与x的权限时,该用户你能够进入到此目录
②用户在此目录下的有效用户组将会变成该目录的用户组
③用途:若用户在此目录下具有w的权限,则用户创建新文件的用户组与此目录的用户组相同。
操作
①chmod g+s FILE
②chmod g-s FILE
测试
- hadoop,hbase,hive属于developteam组,在/tmp/project中三个用户都可以对创建的文件进行操作
useradd hadoop
useradd hive
useradd hbase
groupadd developteam
chown -R :developteam /tmp/project //修改文件的属组
usermod -a -G developteam hbase //添加用户的额外组
usermod -a -G developteam hive //添加用户的额外组
usermod -a -G developteam hadoop //添加用户的额外组
chmod g+w /tmp/project //给属组添加写权限
chmod g+s /tmp/project
Sticky
——在一个公共目录(属于一个组),每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件
操作
①chmod o+t DIR
②chmod o-t DIR
注意
- umak思维权限第一位是特殊权限
- chmod #### DIR
①第一个#是指特殊权限的值
001=1代表Sticky
010=2代表SGID
011=3代表SGID和Sticky
100=4代表SUID