文件权限类命令

文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全线,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定,在Linux中我们可以使用ll或者ls -l 命令来显示一个文件的属性以及文件所属的用户和组。

1)ll命令查看文件属性以及文件属性说明

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yA2VOk7-1684739922505)(文件权限类命令.assets/image-20221008214429697.png)]

  • ①:10个字符:文件类型与权限
  • ②:如果是文件,这个数字表示硬链接的个数,如果是目录,这个数字表示目录中文件夹的个数
  • ③:文件属主(文件拥有者)
  • ④:文件所属组
  • ⑤:文件大小
  • ⑥:文件创建或者最后修改时间
  • ⑦:文件名称

2)从左到右的10个字符表示文件类型与权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IyYOg0MF-1684739922506)(文件权限类命令.assets/image-20221008214501351.png)]

  • 0位:表示文件类型,在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
    • -:代表文件
    • d:代表目录
    • l:表示连接文件
  • 第1-3位:文件所有者拥有的权限(User)
  • 第4-6位:该文件所属组拥有的权限(Group)
  • 第7-9位:其他用户对该文件拥有的权限(Other)

2)rwx作用文件和目录的不同解释

(1)作用到文件

  • r:代表可读(read):可以读取、查看文件的内容
  • w:代表可写(write):可以修改文件,但是不带表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
  • x:带包可执行(execute):可以被系统执行

(2)作用到目录

  • r:代表可读(read):可以读取,即可以通过ls查看目录内容
  • w:代表可写(write):可以修改,即可以在目录内创建+删除+重命名目录内的文件
  • x:代表可执行(execute):可以进入该目录,即可以通过cd进去

chmod:改变文件或目录权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vlTWKeWl-1684739922507)(文件权限类命令.assets/image-20221008214637941.png)]

1)第一种方式变更权限

chmod [选项] 模式[,模式] 文件或目录
  • 选项

    • R:递归处理
  • 模式:

    {ugoa}{+-=}{rwx}
    
    • u:所属者
    • g:所属组
    • o:其他人
    • a:所有人(u、g、o的总和)

2)第二种方式变更权限

chmod [选项] [八进制模式] 文件或目录
  • 选项
    • R:递归处理
  • 八进制模式
    • r=4
    • w=2
    • x=1
    • wx=2+1=3
    • rx=4+1=5
    • rw=4+2=6
    • rwx=4+2+1=7

3)案例实操

(1)为1.sh文件的所属者添加执行权限

[root@Demo-Server ~]# mkdir 1.sh
[root@Demo-Server ~]# chmod u+x 1.sh

(2)为1.sh文件的所属组添加读取和执行权限

[root@Demo-Server ~]# chmod g+rx 1.sh

(3)修改1.sh文件权限:拥有者去掉执行权限,其他用户添加执行权限

[root@Demo-Server ~]# chmod u-x,o+x 1.sh

(4)设置1.sh用户权限,所有者有rwx权限,所属组以及其他用户有wx曲线

[root@Demo-Server ~]#  chmod u=rwx,g=wx,o=wx 1.sh
[root@Demo-Server ~]# ll
总用量 8
drwx-wx-wx. 2 root root    6 108 21:49 1.sh

(5)通过数字的方式设置权限,所有者、所属组、其他用户都具有可读可写可执行权限

[root@Demo-Server ~]# chmod 777 1.sh
[root@Demo-Server ~]# ll
总用量 8
drwxrwxrwx. 2 root root    6 108 21:49 1.sh

(6)修改test文件夹及其内部所有文件的所有者、 所属组、 其他用户都具有可读可写可执行权限,需要用到-R参数,递归进行设置

[root@Demo-Server ~]# mkdir test
[root@Demo-Server ~]# ll
总用量 8
drwxrwxrwx. 2 root root    6 108 21:49 1.sh
drwxr-xr-x. 2 root root    6 108 21:55 test
[root@Demo-Server ~]# chmod -R 777 test/
[root@Demo-Server ~]# ll
总用量 8
drwxrwxrwx. 2 root root    6 108 21:49 1.sh
drwxrwxrwx. 2 root root    6 108 21:55 test

chown:改变所有者

1)基本语法

改变文件或者目录的所有者

chown [选项] [所有者][:组] [文件或目录]

2)选项说明

选项 说明
-R 递归操作

3)案例

案例 说明
chown test 1.sh 将1.sh的所有者改为test用户
chown :g1 1.sh 将1.sh的所属组改为g1
chrown -R tom:g1 test 递归将test目录及其所有子文件,所属者改为test用户,所属组改为g1

chgrp:改变文件或目录所属组

1)基本语法

改变文件或者目录的所属组

chgrp [选项] [最终用户组] [文件或目录]

2)选项说明

选项 说明
-R 递归操作

3)案例

案例 说明
chgrp g1 1.sh 将1.sh的所属组改为g1
chgrp -R g1 test 递归将test目录及其所有子文件,所属组改为g1
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐