文件和目录的权限分析
可读(r、4);可写(w、2);可执行(x、1)
文件:
r(read)可读取文本内容,文字内容
w(write)编辑,新增,修改文件内容(不含删除,若删除要为文件拥有者或组)
x(eXecute):可执行
目录:
r(read contents in directory):读取目录及结构列表,查询该目录下的文件数据,例如用ls命令
w(modify comtents of directory):更改目录结构列表权限(前提要对目录有x的权限)
1:新建文件或目录
2:删除已存在的文件/目录
3:对文件进行重命名
4:转移目录内的文件/目录
5:对只读文件编辑后强制写入(x!)拥有者和组就会变成本用户
6:x(access directory):能否进入该目录
特殊权限
1:SetUID(用于文件)rwsr-xr-x
SUID权限仅对二进制程序(binary program)有效(不能用在shell script上)
用户需对改程序有x的权限
权限只在程序运行过程中有效(run time)
执行者暂时拥有该程序所有者(owner)的权限
例:[[email protected] ~]# ll /etc/shadow
----------. 1 root root 915 Oct 21 18:55 /etc/shadow (只有root可以强制写入)
[[email protected] ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 17 2012 /usr/bin/passwd
(一般账户有x的权限,同时又SUID权限,当一般账户执行passwd命令时相当于暂时获得了root的权限,就可以将修改的密码写入上面的/etc/shadow中)
2:SetGID(文件和目录)rw-r-sr-x
文件
跟SUID原理相似
目录
用户在此目录下的有效用户组(effective group)将变成该目录的用户组
用户在此目录下创建的文件的用户组与该目录的用户组相同
3:Sticky Bit(用于目录)rw-r-xr-t
当用户在该目录下创建文件时,只有自己和root可以删除该文件
文件默认权限
umask:默认值(002)指需要减掉的权限
例如团队作业时,最好设为002,这样同组人就可共同制作了
默认最大权限:
文件:666
目录:777
文件隐藏属性
chattr:对文件进行设置,只有root可以,设置文件不可删除,不可修改等
lsattr:查看隐藏属性
ACL权限
(Access control list )使在不改变文件权限的情况下让特定的用户可以对文件/目录进行操作。
需要文件系统挂在的时候有 acl 选项,可通过 dumpe2fs 查看 Default mount options:
例如:
[[email protected] etc]# ll -d
drwxr-xr-x. 96 root root 4096 6月 20 14:33 .
如何让一般用户在这个目录中进行写操作,通过ACL可以实现
权限相关命令
ls -l 查看权限
chmod 修改权限
例:chmod 776 / 4776 / u=rwx,go=rx / u+x / u+s filename
chgrp 修改文件所有组
例:chgrp groupname filename
chown 修改文件所有者
例:chown username filename
chown username:groupname filename //同时修改
umask 默认权限
例:umask 002
getacl:查看文件的acl权限设置内容
getacl filename
setacl:设置acl权限
setacl -m u:username:rwx filename // 使用户可以获得这个文件/目录的rwx权限,也可以设置用户组
PS:可以查看我的另一篇相关的文章:
http://boxinknown.blog.51cto.com/10435935/1663833