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:
权限应用模型:
进程的属主,是否与文件的属主相同,如果相同,进程则以文件的属主的权限访问文件,否则,进程的属主所属的组,其中之一与文件的属组相同,如果相同进程则以属组的权限来访问,否则以文件的其他用户的权限来访问文件。