查出以下目录的权限,不能修改权限,否则出问题
/                  rwxr-xr-x   755
/etc               rwxr-xr-x    755
/var               rwxr-xr-x    755
/var/ftp           rwxr-xr-x    755
/etc/shadow        r--------    400
/etc/passwd        rw-r--r--    644
/tmp               rwxrwxrwt    1777
/root              rwxr-x---    750
/home/zorro        rwx------    700
root用户创建的文件   rw-r--r--    644
root用户创建的目录   rwxr-xr-x    755
lzn用户创建的文件    rw-rw-r--    664
lzn用户创建的目录    rwxrwxr-x    775

rwx权限的介绍:r=read(读),w=write(写),x执行
r------4    w-----2   x----1
r-------读    cat、head、tail、ls(目录必须有r-x查看文件详细信息 r只能看到文件名)
w-------写    vim、“>”、gedit、touch、mkdir、rm...    -wx才能真正创建文件(只有touch 能创建空文件)
x-------执行    ./和cd等  

umask   022
777-022=775

基本权限,举例:
drwxr-xr-x ,每三位一次,如下

d rwx r-x r-x
文件类型 user group other
       
       

linux一句话分享:一个文件是否能被删除是看文件所在上层目录的权限

修改权限
    +加号添加权限
chmod u+r file/dir
chmod u+r,g-r file/dir
chmod u+r,g-r,o+x file/dir
chmod ug+r,o-rwx file/dir
chmod ugo+rwx file/dir
chmod  a-rwx   file/dir  所有者权限减去rwx
#chmod a+x a.txt   给ugo3段权限全部加x

    =等号替换
chmod u=r file/dir
chmod u=r,g=w file/dir
chmod u=r,g=w,o=x file/dir
chmod ug=rw,o=r file/dir
chmod ugo=rwx file/dir
chmod a=rw file/dir

特殊权限:
suid:当你给一个命令或者二进制可执行文件设置了suid之后,所有用户执行这个命令的时候,都拥有这个命令的所有者所拥有的权限
修改的时候在原来权限的基础上加4
#chmod 4755  /bin/cat

sgid:当你给一个目录设置了sgid之后,那后面不管谁来我这个目录下创建新文件,这个文件的所属组都是被设置了sgid这个目录的所属组
#chmod 2755  /dir1

t(sticky):(粘贴位,冒险位)   当你给一个目录设置了t权限之后,在这个目录下,用户不能随便删除别人的文件。(除了root和目录拥有者)
#chmod 1755  /dir1

EUID=当前用户UID
1、检查EUID=用户_UID时,是否有权限执行/bin/cat命令
2、当执行/bin/cat命令时,EUID将不再是当前用户的UID,而是被改为有SUID权限为的文件(/bin/cat)的所有者的UID,所有者是ROOT,那么EUID=0,接下来判断EUID=0时,是否对/etc/shadow有读权限

隐藏权限:
查看:#lsattr a.txt
修改:#chattr {+|-}? a.txt
?=a  能查看,不能删除,不能覆盖,只能追加内容
?=i   能查看,不能删除,不能覆盖,不能添加内容

umask掩码:不能用减法算
查看:#umask
修改:#umask 011
算法:用掩码和原来的权限做异或运算

facl文件访问控制列表(必须基于磁盘或分区在做)
磁盘或分区或者mount时支持acl
1.mount -o acl /dev/hda5 /mnt
2.tune2fs -o acl /dev/hda5
  tune2fs -o ^acl /dev/hda6

查询
getfacl test.txt
设置
setfacl -m u:robin:r test.txt
setfacl -m g:eric:rw test.txt
setfacl -m o:r test.txt
setfacl -m m:r test.txt
删除facl
setfacl -x u:robin test.txt
setfacl -x g:eric test.txt
setfacl -b test.txt 去掉所有方文件(去掉+)
设置mask  
setfacl -m m::x test.txt    若之前mask 为rx,做完与运算权限为x     11为1,10为0,00为0   真真为真,真假为假,假假为假