文件类型和访问权限(事物属性)
linux前都会有一串这个字符,第二字符到第九字符分别表示拥有者,所属组,和other所对应的权限。那么第一个字符表示什么呢?
第一个字符表示文件类型:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
注意:Linux的文件类型不通过后缀区分(不代表Linux不用后缀),但我们对于Linux 文件后缀的态度是能用明确的后缀就用后缀,第一Linux种工具需要,第二程序员看起来方便。
rwx权限分别表示:
1. x权限决定能不能进入目录
2. r决定是否可以进行对文件属性信息的进行查看的权力
3.w 决定是否可以在目录下进行新建和删除文件
注意:一个文件是否能被删除,并不取决于文件的本身,而是取决于文件所处的目录,是否拥有者是否具有w权限,即使是root账号创建的文件,该目录的拥有者只要有w权限依然可以删除。
文件访问权限的相关设置方法
a)chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
实例:
b)chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
c)chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
为什么我们创建的普通文件:默认权限不是777 而是664
为什么我们创建的目录文件:默认权限不是777 而是775
这涉及到权限掩码 umask 定制一个文件被创建时候的默认权限:
d)umask
功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到
umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式:umask 权限值
说明:将现有的存取权限~(按位取反)权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
文件的最高权限是666 二进制是 110 110 110 默认掩码是 000 000 010 按位取反 得到 110 110 100 得到的结果为664
目录的最高权限是777 二进制是 111 111 111 默认掩码是 000 000 010 按位取反 得到 111 111 101 得到的结果为775
粘滞位:
给共享目录中的other设置的一个权限位,具有x的意义,同时也进一步对目录权限进行特殊限定。该目录里的文件,只有root或者文件的拥有者有权利进行删除!!其他人一概不允许!
Linux下的共享目录有tmp