文件和目录权限
 
文件和目录的权限除了rwx、权限外 还有s t 特殊权限。
  s表示setUID setGID 。位于usergroup权限组的第三位置。如果在user权限组中设置了s权限。那么当该文件被执行时,时以文件所有者的GID,而不是用户的GID执行文件。t 表示站着位(sticky)。位于other权限组的第三位,具有该位的文件和目录只有创建该文件的user才能删除。
 
chmod g+s  directory
chmod o+t   directory
 
实验演示:
1 建立组group ,建立用户 liv natasha其所属组为dba 建立一个目录/dir
 liv natasha 加入dba
#useradd  liv
#useradd   Natasha
 #usermod –G dba liv  ---dba 添加为liv natasha 的附加组
 #usermod –G dba natasha
 #mkdir dir
 
2 更改dir目录的组为 dba 设置组权限为可读可写可执行
 #chown :dir dba
 #chmod g+w dir
 
drwxrwxr-x   2 root dba   4096 Feb 21 21:13 dir
 
3使用natasha用户登录 创建文件 查看文件属性
#su – Natasha
$cd /dir
 $touch natasha.1
$ls  ----查看/dir 目录下的文件所属组 natasha所属组
 
-rw-rw-r-- 1 natasha natasha 0 Feb 21 21:11 natasha.1
 
$su –
 
#chmod g+s /dir
 
drwxrwsr-x   2 root dba   4096 Feb 21 21:13 dir
4 s 权限设置好,切换到natasha 用户再建文件 natasha.2
  切换到liv liv.1
如下显示
-rw-rw-r-- 1 natasha natasha 0 Feb 21 21:11 natasha.1
-rw-rw-r-- 1 natasha dba     0 Feb 21 21:24 natasha.2
-rw-rw-r-- 1 liv     dba     0 Feb 21 21:30 liv.1
 
--则所建文件执行所属组为 该目录的所属组
 
5 现在natasha 尝试删除 natasha.2 liv.1
 发现 natasha任何人创建的文件都能删除,现在我们想让dba组内的每个用户只能删除自己创建的文件,不能删除其他人的文件。
我们就运用了令一个权限 t
 # chmod o+t /dir
 
drwxrwsr-t   2 root dba   4096 Feb 21 21:33 dir
 
liv natasha分别创建文件
liv 尝试删除natasha 和自己创建的文件,结果显示
可以删除自己的,删除natasha的文件则系统提示:操作不允许
 
rm: cannot remove `natasha.3': Operation not permitted