一、特殊权限
1、SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者;
a)chmod u+s FILE
b)chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S;
如:ls -l /usr/bin/passwd
2、SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组;
a)chmod g+s FILE
b)chmod g-s FILE
3、Sticky: 在一个公共目录,每个都可以创建文件,删除自己的文件,但不能删除别人的文件;
a)chmod o+t DIR
b)chmod o-t DIR
4、SUID、SGID和Sticky二进制权限
a)分别表示SUID、SGID和Sticky的权限;
000:
001: 有Sticky权限;
...
110:
111:有SUID、SGID和Sticky权限;
如:chmod 5755 /backup/test,第一位5表示有SUID、SGID和Sticky的权限;
5、umask 0022,第一位表示SUID、SGID和Sticky的权限;
练习:
开发组develop中有3个用户hadoop, hbase和hive,目录为/tmp/project/。要求:3人能互相读写对方的文件,但是不能删除对方的文件;
参考答案:
1、创建用户和组
[root@localhost ~]# useradd hadoop
[root@localhost ~]# useradd hbase
[root@localhost ~]# useradd hive
[root@localhost ~]# groupadd develop
2、更改3用户的附加组为develop
[root@localhost ~]# usermod -a -G develop hadoop
[root@localhost ~]# usermod -a -G develop hbase
[root@localhost ~]# usermod -a -G develop hive
3、增加目录/tmp/project的SGID权限,可以互相读写
[root@localhost ~]# chmod g+s /tmp/project
4、增加目录/tmp/project的Sticky权限,避免删除对方文件
[root@localhost ~]# chmod o+t /tmp/project
5、分别用3用户登录系统进行验证。
本文出自 “Nick Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1401118