学习b站韩顺平老师的Linux课程时所做的笔记:【小白入门 通俗易懂】2021韩顺平 一周学会Linux_哔哩哔哩_bilibili
有相关联系的知识点:在Linux中,每个用户都属于一个组,每个文件都有所有者,所在组,其他组三个概念。
权限概述
一、权限的基本介绍
ls -l显示的内容为:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc。这个形式里的第一列显示了文件或目录的权限,这个形式里的各各含义如下:
①第一列一共有10位(0-9位):
第0位代表该文件的类型:l是链接,d是目录,c是字符设备(鼠标,键盘),b是块设备(硬盘),-是普通文件
第1-3位是文件的所有者对该文件的权限
第4-6位是和文件的所有者同一组的用户对该文件的权限
第7-9位是文件的其他组的用户对该文件的权限
rwx权限详解如下:
-:不具备权限
rwx作用在文件上:
1、[r]代表可读(read):可以读取文件的内容
2、[w]代表可写(write):可以修改文件的内容
3、[x]代表可以执行(execute):可以执行这个文件
rwx作用在目录上:
1、[r]代表可读(read):ls可以读取目录下的内容
2、[w]代表可写(write):可以修改目录里面的东西,创建文件,删除文件,重命名目录
3、[x]代表可以执行(execute):可以进入到该目录
②后面那几列的含义如下:
1:如果是普通文件就是一个1,如果是目录代表该目录下的子目录数
第一个root:代表文件/目录的所有者
第二个root:代表文件/目录的所在组
1213:代表文件的大小(字节数),如果是目录则显示4096
Feb 2 09:39代表文件的最后修改日期
abc:代表文件名
二、chmod修改文件及目录的权限
命令格式:chmod [选项] <设定权限> <文件或目录>
概述:chmod命令的主要作用是修改文件及目录的权限。
第一种修改方式:=(赋予)、+(增加)、-(去除)修改权限
u:所有者 g:所在组 o:其他人 a:所有人(u、g、o的总和)
基本语法:
1)chmod u=rwx,g=rx,o=x <文件/目录名>(给这个文件的所有者赋予读写执行权限,给文件/目录的所在组的用户执行读写权限,给其他人赋予执行权限)
2)chmod o+w <文件/目录名>(给这个文件的其他用户赋予写的权限)
3)chmod a-x <文件/目录名>(剥夺所有人对这个文件/目录的执行权限)
案例:chmod u=rwx,g=rx,o=rx abc(给abc文件的所有者读写执行权限,给所在组读执行权限,给其他组读执行权限)
案例:chmod u-x,g+w abc(给abc文件的所有者除去执行的权限,增加组写的权限)
案例:chmod a+r abc(给abc文件的所有用户添加读的权限)
第二种修改方式:通过数字修改权限
r权限:4 w权限:2 x权限:1 rwx权限:4+2+1=7 wx权限:3
两种方式的转换举例如下:
chmod u=rwx,g=rx,o=x 文件/目录等价于chmod 751 文件/目录名
案例:chmod 755 /home/abc.txt(将/home/abc.txt文件的权限修改成rwxr-xr-x,使用数字的方式实现)
修改文件/目录的所有者,所在组
三、chown修改文件/目录所有者(change owner)
基本介绍:
chown [-R]
chown [-R]
选项:
-R | 递归处理,把目录中的所有文件和子目录的所有者全部修改 |
案例:chown tom /home/abc.txt(将/home/abc.txt文件的所有者改成tom)
案例:chown -R tom /home/kkk(将/home/kkk目录下的所有文件和目录的所有者都修改成tom)
四、chgrp修改文件/目录所在组
基本介绍:
chgrp newgroup 文件/目录 (修改所在组)
-R | 递归处理,把目录中的所有文件和子目录的所在组全部修改 |
案例:chgrp shaolin /home/abc.txt(将/home/abc.txt文件的所在组修改成shaolin)
案例:chgrp -R shaolin /home/test(将/home/test目录下所有的文件和目录的所在组都修改成shaolin)