提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、Linux中的用户
Linux中分为两种用户:超级用户(root)和普通用户。
- 超级用户在Linux系统下可以进行任何操作,不受限制。
- 普通用户会受到限制,只能进行有限的操作。
- 超级用户的命令提示符是#,普通用户的命令提示符是$
二、权限管理
1.文件访问者的分类
文件的访问者可以分为三类:
- 拥有者(user),简写u
- 同属于一个组的成员(group),简写g
- 其他人(other),简写o
绿色框的代表文件/目录的拥有者,红色框的代表文件/目录的所属组。
2.文件的类型和访问权限
Linux中的文件共有四种访问权限:
- 读权限(r),读权限对于文件而言,具有查看其内容的权限;对于目录而言,具有查看其目录信息的权限。
- 写权限(w),写权限对于文件而言,具有修改其内容的权限;对于目录而言,具有增加、删除、移动目录内的文件的权限。
- 执行权限(x),执行权限对于文件而言,具有执行文件的权限;对于目录而言,具有进入该目录的权限。
- 无权限(-),无权限顾名思义,就是对某一项r/w/x没有权限。
Linux中的文件类型:
- d:文件夹
- -:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
图中1代表文件类型,2代表拥有者(u)对于该文件的权限,3代表所属组(g)对于该文件的权限,4代表其他人(o)对于该文件的权限。
在Linux中文件的类型不是由其后缀决定的,Linux在辨识一个文件时是不看其后缀的,但是Linux中的一些软件是会根据后缀而辨识其类型的!
3.文件权限值的表示方法
1)字符表示:
2)八进制表示:
因为读/写/执行权限的位置是固定的,要么是可读,要么就是不可读;要么是可写,要么就是不可写;要么是可执行,要么就是不可执行,所以可以用二进制来表示,有该权限就是1,没有该权限就是0,而我们知道一位八进制对应三位二进制,而一个访问者对于文件的权限刚好是三个二进制位,而访问者的类型刚好就有三种,所以就是三位八进制就可以表示拥有者、所属组、其他人的所有权限了。
举个例子:
用八进制表示如上图各访问者的权限:
4.文件权限设置相关指令
1)chmod
功能:
设置文件的访问权限
用法:
chmod + 空格 + 访问者身份(u/g/o) + 空格 + ‘+/-’ + 空格 + 所要修改权限的文件
权限值格式:
- +:加上某权限
- -:减去某权限
- u:拥有者
- g:所属组
- o:其他人
- a:所有用户
使用举例:
比如要把h这个目录的所属组(g)和其他人(o) 的 权限都取消掉
指令如下:
可以看到所属组和其他人的权限都没有了,同理的,如果要加上权限那么就是a/u/g/o+r/w/x即可。
用八进制来实现:
2)chown、chgrp(该指令需要在root的身份下执行,或者进行指令提权)
功能:
- chown:修改文件的拥有者
- chgrp:修改文件的所属组
用法:
chown/chgrp + 空格 + 用户名 + 空格 + 所要修改拥有者/所属组的文件
使用举例:
比如要把h这个目录的拥有者和所属组修改成root
一次修改拥有者和所属组,可以在用户名后加上 冒号(:) 后面在跟上用户名即可,这样冒号的左边就表示修改后的拥有者,冒号的右边就表示修改后的所属组。
三、粘滞位(只能对目录设置)
在共享目录中,里面的文件是共享的,这样其他人就可以执行相应权限的操作,但是在共享的目录中,我们保不准别人会故意的删除我们共享的目录及其文件,此时粘滞位就是一个很好的防止他人恶意或者无意删除我们的目录及其文件的一个好手段。
使用方法:
chown + 空格 + +t + 空格 + 所要设置粘滞位的目录
使用举例:
我们对h这个目录加上粘滞位,可以看到在其他人原本x权限的位置变成了一个T,这就表示该目录的文件不能被他人删除了,我们可以看到此时想要rm -rf h删除h目录是不能的了,系统会提示我们cannot remove ‘h’:Permission denied(无法删除“h”:权限被拒绝),这就起到了很好的保护作用!
那么谁可以删除加上粘滞位的目录及其文件呢?如下的身份的用户是可以的:
- 超级用户(root)
- 目录的拥有者
- 文件的拥有者
总结
结束,谢谢谢观看。