知识储备:
特殊权限:
SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者;(常用于普通用户有管理员权限执行某些命令,非常危险)
chmod u+s FILE
chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S;
SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组;
chmod g+s FILE
chmod g-s FILE
Sticky: 在一个公共目录,每个人都可以创建文件,删除自己的文件,但不能删除别人的文件;
chmod o+t DIR
chmod o-t DIR
当然,修改权限也可以用数字形式,如:chmod 5755 /backup/test
实验:
做法:
1.创建开发组成员: hadoop, hbase, hive,并为其设置密码:
# useradd hadoop
# passwd hadoop
# useradd hbase
# passwd hbase
# useradd hive
# passwd hive
2.创建一个公共目录/tmp/project和开发组 developteam,并将目录的属组改为此开发组:
# mkdir /tmp/project
# groupadd developteam
# chown -R :developteam /tmp/project/
3.将三个用户的附加组改为developteam:
# usermod -a -G developteam hadoop
# usermod -a -G developteam hbase
# usermod -a -G developteam hive
4.授予目录/tmp/project/写权限并添加SGID,Sticky:
# chmod g+w /tmp/project/
# chmod g+s /tmp/project/
# chmod o+t /tmp/project/
# ls -ld /tmp/project/
drwxrwsr-t. 2 root developteam 21 8月 2 19:46 /tmp/project/
5.在hbase用户下创建一个文件,并查看其属组,并且用另外一个用户进行删除和修改的测试:
#su - hbase
$ cd /tmp/project/
$ touch b.hbase
$ ll
-rw-rw-r--. 1 hbase developteam 0 8月 2 19:56 b.hbase
6.此时配置已完成,只要在/tmp/project下由这三个用户自己创建的文件,他们可以随意查看和修改,但只有文件创建者和root用户可以删除文件。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。