一、linux文件类型
普通文件: -,-f
目录: -d
连接文件: -l
设备文件:
字符设备(线性设备): -c
块设备(随机设备): -b
命名管道: -p
套接字文件: -s
二、文件的属主属组
为了实现系统资源的分配,在文件系统上为每一个文件标注它的所有者(属主),读写执行三个权限。
但是有时候为了方便权限指派,将多个用户加入同一个组,而后将权限赋予一个组。
此外,还用的other
三、文件的权限
read(r):读
write(w):写
execute(x):执行
对于文件:
r:可以使用内容查看类命令来显示其相关内容。
w:可以使用编辑器来修改内容。
x:可以将其发起一个进程。
对于目录:
r:可以使用ls查看目录的内容
w:可以创建删除目录中的文件
x:可以使用ls -l 查看目录内的文件信息,并且可以使用cd命令切换到该目录作为工作目录。
文件的权限是文件的元数据信息,也叫文件的属性信息,保存在iNode当中(索引节点号是索引节点的属性信息)
四、修改属主属组(仅管理员可执行)
chown
chown [option] UserName[{:|.}GroupName] file...
-R 递归
--reference= 参照其他文件
chgrp
用法与chown相同
五、修改文件权限chmod
chmod命令有三种使用方式
1、操作三类用户的权限:使用8进制
chmod OCTAL-MODE file...
2、操作指定类别用户的权限:使用u,g,o,a,来赋权。基于=或+/-来进行
u:属主
g:属组
o:其他用户
a:所有
=: 操作指定用户类别的权限,u= ,ug=
+/-: 操作指定用户类别的单个权限, u-x,g+w,o-r,+x所有的相当于a+x
3、参照其他文件的权限为当前文件赋权
--reference=要参照的文件 要修改权限的文件
chmod命令默认不会改变目录内部文件的权限,若想改变,则加上选项-R,表示递归(符号链接除外)。
所有符号链接文件的默认权限都为777,因为其权限取决于所链接文件自身。
六、创建文件或目录默认权限的设置,umask
umask 值:可修改umask的值(右三位),只对当前shell有效。
创建文件,默认权限为:666-umask
无论怎么设置,文件默认决不允许执行权限,只要计算出结果又执行权限,则+1
如:umask为023
666-023=643
则默认结果为644
创建目录,默认权限为:777-umask
默认值的一般设定:
管理员(root):022
普通用户:
用户名和基本组名一直:002
用户名和基本组名不一致:022
七、权限应用模型
进程的属主,是否与文件的属主相同?如果相同,进程则以文件属主的权限来访问文件;否则,判断进程的属组(可以有多个属组),是否其中之一与文件的属组相同,如果相同,则以属组的权限来访问文件;否则,进程以文件的其他用户的权限来访问文件。
whoami:查看当前登入的用户名