读r | 写w | 执行x | |
目录 | 列出文件名 | 创建删除文件 | 进入目录,访问目录内的文件内容 |
参数大X:
执行,与小x区别在于,大X只改变目录的执行权限
目录结构,目录A下的文件及目录执行权限都为640
A
|__file1
|__file2
|__dir1
|___file3
|___dir2
==========================分隔符======================
当执行chmod -R a+x A
结果A下的所有文件及目录的权限都变为751
当执行chmod -R a+X A
结果A下的所有目录的权限变为751,所有文件权限仍为640
作用对象 | 功能 | 配合权限 | 数字权限 | |
suid | 二进制程序文件 | 用户执行此程序时,将继承此文件所有者权限 | 配合x | 4 |
sgid | 二进制程序文件 | 用户执行此程序时,将继承此文件所属组权限 | 配合x | 2 |
sgid | 目录 | 在该目录下新创建的文件,其属组都改为目录属组 | ||
stiky | 目录 | 只能删除目录下,属主为用户自己的文件 | 配合w | 1 |
SUID 以文件属主权限执行文件,典型例子
用户tom执行passwd命令时,实际是以root身份执行/usr/bin/passwd命令
下面权限4755
========分隔符========
ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
=====================
注意s权限,只对二进制程序文件有效,也就是对于自己写的脚本文件不生效,另外s权限的添加生效的前提
是那个文件的用户权限已经有了x权限
SGID 当有用户执行某一文件时 当以文件所有组权限执行文件
用户tom执行xxxxx命令时,实际是以xxxxx命令属组的身份权限执行
下面权限2755
========分隔符========
ll /usr/bin/xxxxx
-rwxr-sr-x. 1 root root 27832 Jun 10 2014 xxxxx
=====================
注意s权限,只对二进制文件有效,也就是对于自己写的脚本文件不生效,另外s权限的添加生效的前提
是那个文件的属组权限已经有了x权限
sticky粘置位
当前目录结构,用户tom可以删除dir下的属主为root的file文件,这样tom用户删除root用户的文件并不合理,因此引入stiky粘置位,这样操作后tom用户将无法删除file文件
目录结构,
dir root:root 权限777
|___file root:root 权限000
=====================分隔符===================
chmod 1755 dir
-rwxr-sr-t. 1 root root 27832 Jun 10 2014 dir