linux文件类型:

  普通文件:-,f

  目录:d

  链接文件:l

  设备文件:

     字符设备:c

      块设备:b

  命名管道:p

   套接字文件:s


目录:

  r:可以使用ls命令查看目录内容

  w:可以创建,删除文件

  x:可以使用 ls -l命令查看目录内容的文件,并可以使用cd命令切换为工作目录,修改目录的权限,不会修改目录底下的文件的权限。



修改文件权限:chmod(-R:把目录以及底下的文件都修改。但是无法修改链接文件的权限


chmod命令:

   操作三类用户的权限:使用8进制形式

   操作指定类别用户的权限:使用u,g,o,a来赋权,基于“=”“+”“-”

   参照其他文件的权限为当前文件赋权。


=:操作指定类别用户的权限,比如:"u=rx","ug=rx","u=rx,g=r"

+/-:操作指定类别用户的单个权限

如:u+x,u-x,g+r,o-x,+x(all +x)


参照其他文件

 chmod --reference=FILE 要修改的文件


用户创建文件时,默认会给文件创建一个权限。这个默认值就是:

666-umask所得 .文件默认绝不允许出现执行权限。

比如umask=023

则666-023=644,不允许出现执行权限。若出现执行权限,则+1.


创建目录时:777-umask。目录默认允许出现执行权限。


不同用户的umask可能不一样。umask也可以用来修改。如:umask 023

修改只对当前有效,永久生效需要修改配置文件。


如果用户名跟基本组组名一样则umask=002。因为基本组跟用户名一样,则有可能用户组只是为了这个用户创建的,所以基于这种假设,组与主权限相同。


用户名跟基本组名不一样则umask=022

root 的umask=022


单独改变某个用户对某个文件的权限:1更改属组,2文件ACL


改变文件的属主,属组:chown,chgrp

-R:递归

--reference=


chown [option] UserName file ...


chowner:可以同时更改属主还有属组 chowner root:root FILE

chowner --reference=fedora_dir/ -R

chgrp:


权限应用模型:

  进程的属主,是否与文件的属主相同,如果相同,进程则以文件的属主的权限访问文件,否则,进程的属主所属的组,其中之一与文件的属组相同,如果相同进程则以属组的权限来访问,否则以文件的其他用户的权限来访问文件。