1、Linux权限介绍

权限管理,其实就是指对不同的用户,设置不同的文件访问权限。

Linux 系统,最常见的文件权限有 3 种,即对文件的读(用 r 表示)、写(用 w 表示)和执行(用 x 表示,针对可执行文件或目录)权限。在 Linux 系统中,每个文件都明确规定了不同身份用户的访问权限,通过 ls -al命令即可看到。
在这里插入图片描述
可以看到,每行的第一列表示的就是各文件针对不同用户设定的权限,一共 11 位,但第 1 位用于表示文件的具体类型,最后一位此文件受 SELinux 的安全规则管理。因此,为文件设定不同用户的读、写和执行权限,仅涉及到 9 位字符。

  • 文件类型

    标识 含义
    - 普通文件
    d 目录文件(文件夹)
    p 管道文件(通信作用的文件)
    l 链接文件(软连接,快速找到文件)
    b 块设备文件(如磁盘,磁盘叫块设备,因为存储是以块为基本单位的)
    c 字符设备文件(如键盘,显示器 , 按字节字符顺序显示,输入)
    s 套接字文件

Linux 将访问文件的用户分为 3 类,分别是文件的所有者,所属组(也就是文件所属的群组)以及其他人。
在这里插入图片描述

  • 文件和目录的三种权限对比

    在Linux中,任何文件或者目录都有三种权限:读(Read)、写(Write)、执行(Execute)

    文件 目录
    Read 可以读取、查看文件的内容,比如:cat、more、less、head、tail 可以读取、查看目录下边的内容,比如:ls
    Write 可以修改文件的内容,比如:vi或者vim 可以修改目录中的内容,创建子目录、删除子目录、创建文件、删除文件、重命名文件或者目录
    Execute 如果该文件是可执行文件(.sh),可以直接运行,比如:./xxx.sh 可以进去该目录,比如:cd

2、修改文件或者目录的所属组

使用chgrp 命令用于修改文件(或目录)的所属组。其基本格式为:

[root@localhost ~]# chgrp [-R] 所属组 文件名(目录名)	
# -R(注意是大写)选项作用于更改目录的所属组,表示更改连同子目录中所有文件的所属组信息。

在这里插入图片描述

3、修改文件或者目录的所有者和所属组

chown 命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。

当只需要修改所有者时,可使用如下 chown 命令的基本格式:

[root@localhost ~]# chown [-R] 所有者 文件或目录
# -R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。

如果需要同时更改所有者和所属组,chown 命令的基本格式为:

[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录

当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group test.txt 就表示修改 test.txt 文件的所属组(修改所属组通常使用 chgrp 命令)。
在这里插入图片描述

4、修改文件或者目录的权限

通过 chmod 命令可以修改文件或则目录的权限。chmod 命令设定文件权限的方式有 2 种,分别可以使用数字或者符号来进行权限的变更。

  • chmod命令使用字母修改文件或目录权限

    既然文件的基本权限就是 3 种用户身份(所有者、所属组和其他人)搭配 3 种权限(rwx),chmod 命令中用 u、g、o 分别代表 3 种身份,其中u表示所有者,g表示所属组,o表示其他人,还用 a 表示全部的身份(all 的缩写)。用 +、-、= 分别表示给指定的用户增加、减少、设置对应的权限。

    使用字母修改文件权限的 chmod 命令,其基本格式如图所示
    在这里插入图片描述

    [root@localhoat ~]# chmod u=rxw,go=rx test			# 设定test文件的权限为 rwxr-xr-x
    [root@localhoat ~]# chmod g-w,o+w test	# 对于test文件,给所属组减少写权限,给其他人添加写权限
    

    在这里插入图片描述

  • chmod命令使用数字修改文件或目录权限

    Linux 系统中,文件的基本权限由 9 个字符组成,以 rwxrw-r-x 为例,我们可以使用数字来代表各个权限,各个权限与数字的对应关系如下:

    r -> 4(22)、w -> 2(21)、x -> 1(20

    由于这 9 个字符分属 3 类用户,因此每种用户身份包含 3 个权限(r、w、x),通过将 3 个权限对应的数字累加,最终得到的值即可作为每种用户所具有的权限。

    以rwxrw-r-x 为例,所有者、所属组和其他人分别对应的权限值为:

    所有者:rwx = 4+2+1 = 7
    所属组:rw- = 4+2 = 6
    其他人:r-x = 4+1 = 5
    

    所以,此权限对应的权限值就是 765

    使用数字修改文件权限的 chmod 命令基本格式为:

    [root@localhost ~]# chmod [-R] 权限值 文件名
    # -R(注意是大写)选项表示连同子目录中的所有文件,也都修改设定的权限。
    

    在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐