1.0 权限管理
在现实生活中,为什么要有权限,为了对事物进行更好管理和使用(相对拥有者和其它人而言),所以,Linux对文件访问者进行分类
- u(User)------拥有者
- g(Group)----所属组
- o(Other)-----其他人
之外在Linux下的用户分为两种
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:受到权限的限制
2.0 文件属性
在Linux下,文件的类型不以后缀进行分类,使用ll命令,可以显示文件的属性信息:
其中第一个字母代表的是文件的类型:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
后面的rw-r- -r- -对应的是拥有者,所属组和其他人的权限
- 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—”表示不具有该项权限
root和root对应的是文件的拥有者和所属组
133或4096代表的是文件的大小,单位为字节
Jul 19 16:27是文件创建的时间 ,分别是月-日-时:分
剩下的是文件名
进入一个目录后,能不能查看文件的内容,跟目录权限没有关系,跟文件的权限有关
3.0 文件权限修改
3.1 chmod命令
说明: chmod用来修改权限,但是对一个文件来说,只有它的拥有者或者是超级用户才能修改权限
语法: chmod [参数] 权限 文件名
选项: -R:递归修改文件权限
对于一个文件的修改,分为两种,一个是人,一个是人对应的文件属性
3.2 修改文件权限
方法一:
chomd命令权限修改格式:用户表示符±=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
例:
chmod u-r 文件名
chmod g+rx 文件名
chmod u-wx,g-w,o+rwx 文件名
方法二:
chomd命令权限修改格式:用户表示符+ 8进制数 + 权限字符
例:chmod 740 abc.txt
其中730由3个八进制数组成,通过转为二进制数来表示权限的有无,【111,101,000】,111二进制转到八进制为7,101二进制转八进制为3,其中1代表的是权限拥有,0则为没有权限。
3.3 修改文件的人
一:chown
说明: 是change owner的缩写,用来修改文件的拥有者和所属组
语法:
chown [参数] 拥有者名称 文件名
chown [参数] 拥有者名称:所属组名称 文件名
选项: -R:递归修改文件权限
二:chgrp
说明: 是change owner的缩写,用来修改文件的拥有者和所属组
语法: chown [参数] 所属组名称 文件名
选项: -R:递归修改文件权限
4.0 权限掩码
4.1 默认权限
对于文件和目录,新建时都会有默认权限
新建文件夹默认权限=0666
新建目录默认权限=0777但是我们创建的文件和目录并不是上面的值,这是因为受到权限掩码umask的影响,将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002
计算公式:
权限 = mask(文件或目录的默认权限)& (~ umask(掩码))
需要转为二进制计算
例:
掩码:000 000 010
默认:111 111 111
结果:111 111 101
4.2 umask命令
说明: 查看和修改文件的权限掩码
语法:
umask 权限值 //修改权限掩码
umask //查看权限掩码
5.0 粘滞位
一般文件的拥有者或者root用户才能删除文件,但是在Linux中,其他人即便没人读写权限,也能对文件进行删除,这就显得不合理,粘滞位就能科学的处理这问题,加上粘滞位的文件,只能由root用户和拥有者才能删除
加粘滞位:
chmod o+t abc.text
chmod 1775 abc.text
去除粘滞位:
chmod o-t abc.text
chmod 0775 abc.text
chmod 775 abc.text