【Linux】权限管理和粘滞位理解

权限管理


文件访问者分类
文件和文件目录的所有者:u---User
文件和文件命令所有者所在的组的用户:g---Group
其他用户:o---Other
文件类型和访问权限

【Linux】权限管理和粘滞位理解_第1张图片
文件类型

d:目录文件
-:普通文件
l:软连接(类似windows下的快捷方式)
p:管道文件
b:块设备文件(硬盘,光驱)
s:套接口文件
c:字符设备文件(屏幕等串口设备)

基本权限

1、读(r/4):对文件而言具有读取文件内容的权限,对于目录而言具有浏览目录信息的权限;
2、写(w/2):对于文件而言具有修改文件内容的权限,对于目录而言具有删除移动目录内文件的去权限;
3、执行(x/1):对于文件而言具有执行文件的权限,对于目录来说具有进入目录的权限;
4-:表示不具备该权限
文件权限值得表示方法

字符表示方法【Linux】权限管理和粘滞位理解_第2张图片
8进制数值表示方法
【Linux】权限管理和粘滞位理解_第3张图片

文件访问权限的相关设置方法

chmod命令:设置文件的访问权限
格式:chmod [参数] + 权限 + 文件名
参数:R—递归修改文件的权限
注意:只有文件所有者和root用户才能改变文件权限

1、用户标识符 +/-=权限字符
+:向权限范围增加权限代号所代表的的权限
-:向权限范围取消权限代号所代表的的权限
=:向权限范围赋予权限代号所代表的的权限
u:所有者
g:拥有这同组用
o:其他用户
a:所有用户
栗子:chmod u+w /home/abc.txt
2、三位8进制数字
栗子:chmod 664 /home/abc.txt

chown命令:修改文件的所有者
格式:chown [参数] 用户名 + 文件名
chgrp命令:修改文件或目录的所在组
格式:chgrp [参数] 用户组名 + 文件名
umask命令:查看或修改文件掩码
格式:查看:umask ;;;修改:umask 权限值

umask;查看权限掩码
umask 权限值 :修改权限掩码

新建文件掩码默认权限(mask)=0666
新建目录默认权限(mask)=0777
但是并非使用这些默认权限,实际上创建文件或者是目录是权限还要受到 **权限掩码**的影响,实际
创建出来的文件或者说是目录的权限是:mask & ~umask

关于权限的总结

1、如果目录没有x(可执行)权限,则无法对目录执行任何命令,甚至无法cd到目录当中,
及时目录具有r(可读)权限
2、如果目录具有x(可执行)权限,但是没有r(可读)权限,则用户可以执行命令;可以cd
到目录中,但是执行ls命令,因为没有r(可读)权限,所以任然无法读出目录下文档
3、若果目录没有x(可执行)权限,那就无法cd到目录中去
4、如果目录没有r(可读)权限,那就无法执行ls等命令,查看目录中的文件
5、如果目录没有w(可写)权限,那就无法在该目录下创建或删除文件
粘滞位

设想只要用户具有目录的w(可写)权限,用户就可以删除目录下的文件,而不论这个用户是否具有这个文件的写权限;这是一件很可怕的事情,如果张三在该目录下创建的文件,如果李四有该目录的w(可写)权限,那么他就可以删除张三创建的文件;这很不合理且不合法;所以引入粘滞位
注意:当一个目录被设置为粘滞位时,则该目录下的文件只能由:

  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除
用法:chmod +t 目录名

root@localhost ~]# chmod +t /home/ # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 127 16:00 /home/
[root@localhost ~]# su - tc2
[tc2@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
rm: 无法删除"/home/abc.c": 不允许的操作

你可能感兴趣的:(Linux)