Linux01-Linux高级特殊权限SUID详解25

一、特殊权限

   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

Linux01-Linux高级特殊权限SUID详解25,布布扣,bubuko.com

Linux01-Linux高级特殊权限SUID详解25

上一篇:Linux入门之:ansible,第一个运维工具


下一篇:Linux内核架构读书笔记 - 2.5.1 调度器概述