linux下SUID,SGID及sticky特殊权限详解
特殊权限
SUID: 运行指定程序时,相应进程的属主是程序文件自身的属主,而不是启动者;
chmod u+s 文件 增加suid位
chmod u-s 文件 删除suid位
ls -l /usr/bin/passwd 是一个典型例子,任何人都可以修改自己的密码
如果文件本身原来就有执行权限,则SUID显示为小s;否则显示大S;
SGID: 运行指定程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组;
chmod g+s 文件 增加sgid位
chmod g-s 文件 删除sgid位
如果文件本身原来就有执行权限,则SUID显示为小s;否则显示大S
Sticky: 共享目录当中,每个人都可以创建文件,删除自己的文件,但不能删除别人的文件;
chmod o+t 文件 增加sticky位
chmod o-t 文件 删除sticky位
如果文件本身原来就有执行权限,则Sticky显示为小t;否则显示大T
实例说明:
公司有一个业务部门,里面有3个用户,分别是rose,tom,joe;需要共享一个目录,相互之间
可以查看编辑对方文件,当然也可以自己创建文件,但不能删除对方创建的文件
1.首先创建3个用户rose,tom,joe,再创建sales组
useradd rose
useradd tom
useradd joe
groupadd sales
2.将3个用户额外组加入到sales组当中
usermod -a -G sales rose
usermod -a -G sales tom
usermod -a -G sales joe
3.创建公共目录/tmp/sales,对此目录属组改为sales,并增加组写权限,及sgid,sticky位,
mkdir /tmp/sales
chmod g+w /tmp/sales
chgrp -R sales /tmp/sales
chmod -R g+s /tmp/sales
chmod -R o+t /tmp/sales
本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1764580
原文:http://willow.blog.51cto.com/6574604/1764580