Linux文件权限管理

   学习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)


你可能感兴趣的:(linux,运维,服务器)