19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解


Linux权限位

Linux 系统,最常见的文件权限有 3 种,即对文件的读(r)、**写(w)执行(x)**权限。每个文件都明确规定了不同身份用户访问权限。另外会看到 s(针对可执行文件或目录,使文件在执行阶段,临时拥有文件所有者的权限)和 t(针对目录,任何用户都可以在目录中创建文件,但只能删除自己的文件),文件设置 s 和 t 权限,会占用 x 权限的位置。

[root@zaishu ~]# ls -al
total 156
drwxr-x---.   4    root   root     4096   Sep  8 14:06 .
drwxr-xr-x.  23    root   root     4096   Sep  8 14:21 ..
-rw-------.   1    root   root     1474   Sep  4 18:27 anaconda-ks.cfg
-rw-------.   1    root   root      199   Sep  8 17:14 .bash_history
-rw-r--r--.   1    root   root       24   Jan  6  2007 .bash_logout

每行的第一整列表示的就是各文件针对不同用户设定的权限,一共 11 位,第 1 表示文件类型,最后一位此文件由 SELinux 的安全规则管理。因此仅涉及到 9 位。
在这里插入图片描述

如图将文件用户分为 3 类,分别是文件的所有者,所属组以及其他人。
所有者,所属组的成员,其他用户都可以访问文件,但只有所有者才有写的权限。

读写执行 三种权限真正含义和作用

权限对文件的作用

文件包括普通的文本文件、数据库文件、二进制可执行文件等。

rwx 权限对文件的作用
读权限(r)表示可读取此文件中的内容,例如对文件执行 cat、more、less、head、tail 等文件的查看。
写权限(w)表示可以编辑、新增或者修改文件的内容,例如可对文件执行 vim、echo 等修改文件数据的命令。
执行权限(x)表示该文件具有系统可执行的权限。Window中查看文件是否为可执行文件,是通过扩展名(.exe、.bat 等),在 linux 系统中文件是否能被执行,通过看此文件是否具有 x 权限来决定的。

注意:

  1. 删除文件的权限,跟文件没有任何关系,这个权限需要通过对上级目录有写权限才可对这个文件进行删除

  2. 对于文件执行权限是最高权限。

权限对目录的作用

rwx 权限对目录的作用
读权限(r)表示具有读取目录结构列表的权限,可以查看目录中有哪些文件和子目录。
一旦对目录拥有 r 权限,就可在此目录下执行 ls 命令,查看目录中的文件。
写权限(w)对于目录来说,w 权限是最高权限。目录拥有 w 权限可以对目录做如下操作:
在此目录中建立新的文件或子目录;
删除文件和子目录;
对文件或子目录做更名操作;
移动文件和子目录的位置。
对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。
执行权限(x)目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,赋予 x 权限的用户或群组可以使用 cd 命令。

对目录来说,如果只赋予 r 权限,则此目录是无法使用的。因为虽然有查看目录当中的信息,但没有x权限无法进入到目录。因此,对于目录来说常用来设定目录权限只有 0(—)、5(r-x)、7(rwx)

示例

目录的权限如下所示:

[root@zaishu ~]# ls -ld zaishu/
drwxr--r-- 2 root root 232 Nov 24 14:35 zaishu/

//不可以切换到此目录中,因为对于其他用户不具有 x 的权限,因此 mysql并不能切换到此目录内。

[mysql@zaishu ~]$ cd /root/zaishu 
-bash: cd: /root/zaishu: Permission denied

chmod

用于修改文件或目录的权限。chmod 命令修改文件权限有 2 种方式,分别使用数字或者符号。

使用数字修改文件权限

1. 数字含义
Linux 系统中,文件的基本权限由 9 个字符组成,以 rwxrw-r-x 为例,我们可以使用数字来代表各个权限,各个权限与数字的对应关系如下:
r --> 4
w --> 2
x --> 1
由于这 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。

2. 修改文件权限

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

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

使用如下命令,对 .bashrc 目录文件的权限修改:

[root@localhost ~]# ls -al .bashrc
-rw-r--r--. 1 root root 176 Sep 22 2004 .bashrc

[root@localhost ~]# chmod 777 .bashrc

[root@localhost ~]# ls -al .bashrc
-rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc

使用字母修改文件权限

1. 字母含义
文件基本权限是3种用户身份(所有者、所属组和其他人)再搭配 3 种权限(rwx),可以用 u、g、o 分别代表 3 种身份,a 表示全部的身份(all 的缩写)。
用 r、w、x 字母代表读、写、执行权限。

使用字母修改文件权限,语法如下。
在这里插入图片描述
2. 示例

对 .bashrc 文件的权限设置为 rwxr-xr-x,则可执行如下命令:

[root@localhost ~]# chmod u=rwx,go=rx .bashrc
[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc

总结

linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解


版权声明:本文为wangzhicheng987原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。