文件和目录的权限分析

可读(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)的权限

例:[root@boxin ~]# ll /etc/shadow
     ----------. 1 root root 915 Oct 21 18:55 /etc/shadow     ( 只有root可以强制写入
     [root@boxin ~]# 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:

     例如:

    [root@boxin 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