我是靠谱客的博主 聪明口红,这篇文章主要介绍Linux常用命令——基本权限管理基本权限管理,现在分享给大家,希望可以做个参考。

文章目录

  • 基本权限管理
    • 1、权限介绍
    • 2、权限修改
    • 3、基本权限的作用
    • 4、默认权限

基本权限管理

在这里插入图片描述

1、权限介绍

在前面的Blog中说到过ls命令,通过-l的选项长列表显示出文件的内容,如下所示

复制代码
1
2
3
[root@localhost ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1742 Sep 5 19:36 anaconda-ks.cfg

在这里插入图片描述

下面就对上图这几个框做详细的说明

在这里插入图片描述

以下说明从左至右

第1位:文件类型

复制代码
1
2
3
4
5
6
7
8
_ 普通文件 b 块设备文件 一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sdal就是这种文件 c 字符设备文件 这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等 d 目录文件 Linux中一切皆文件,所以目录也是文件的一种 l 软链接文件。 p 管道符文件,这是一种非常少见的特殊设备文件。 s 套接字文件,这也是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件

第2-4位:所有者(所属主)权限

复制代码
1
2
3
4
r read 读 w write 写 x execute 执行

第5-7位:所属组权限 内容同上

第8-10位:其他人权限,即不属于本文件的所属者,也不属于所属组 内容同上

2、权限修改

对于权限的修改有chmod、chown、chgrp;下面就对其进行详细的解释

  • 命令名称:chmod
  • 英文原意: change file mode bits
  • 所在路径:/bin/chmod
  • 执行权限:所有用户
  • 功能描述:修改文件的权限模式

命令格式

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
chmod [选项] 权限模式 文件名称 选项: -R 递归设置权限,即给目录其下的子文件与子目录都设置权限 权限模式: u/g/o/a +/- rwx/0-7 用户身份。 u 代表所有者(user) g 代表所属组(group) o 代表其他人(other) a 代表全部身份(all) 赋予方式 + 加入权限 - 减去权限 = 设置权限 权限(数字权限) r 读取权限(read) 4 w 写权限(write) 2 x 执行权限(execute) 1

案例演示

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost yichen]# ll total 0 drwxr-xr-x. 2 root root 18 Sep 8 06:36 eichi #对所属组增加写权限 [root@localhost yichen]# chmod g+w eichi/ [root@localhost yichen]# ll total 0 drwxrwxr-x. 2 root root 18 Sep 8 06:36 eichi #将所有权限改为满权限(777) [root@localhost yichen]# chmod 777 eichi/ [root@localhost yichen]# ll total 0 drwxrwxrwx. 2 root root 18 Sep 8 06:36 eichi #删除所属组的写权限 [root@localhost yichen]# chmod g-w eichi/ [root@localhost yichen]# ll total 0 drwxr-xrwx. 2 root root 18 Sep 8 06:36 eichi

常用权限

  • 644 这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限
  • 755 这是文件的执行权限和目录的基本权限,代表所有者拥有读、写、执行权限,而所属组和其他人拥有读、执行权限
  • 777 这是最大的权限,在真实的生产服务器上,不建议使用满权限,因为会造成安全隐患
复制代码
1
2
3
4
5
6
7
[root@localhost yichen]# touch a [root@localhost yichen]# mkdir eichi [root@localhost yichen]# ll total 0 -rw-r--r--. 1 root root 0 Sep 9 06:22 a #644 drwxr-xr-x. 2 root root 6 Sep 9 06:22 eichi #755

chown是修改文件和目录的所有者和所属组的命令

  • 命令名称:chown
  • 英文原意:change file owner and group
  • 所在路径:/bin/chown
  • 执行权限:所有用户
  • 功能描述:修改文件和目录的所有者和所属组

命令格式

复制代码
1
2
3
4
chown [选项] 所有者:所属组 文件或目录 选项: -R 递归设置权限 即对目录与其下的子文件都修改权限

案例演示

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#创建文件 [root@localhost yichen]# touch eichi/{a..d} [root@localhost yichen]# ll total 0 -rw-r--r--. 1 root root 0 Sep 9 06:22 a drwxr-xr-x. 2 root root 42 Sep 9 13:20 eichi #修改eichi以及其下的文件的所属者与所属组 使用—r选项 [root@localhost yichen]# chown -R u1:u2 eichi [root@localhost yichen]# ll total 0 -rw-r--r--. 1 root root 0 Sep 9 06:22 a drwxr-xr-x. 2 u1 u2 42 Sep 9 13:20 eichi [root@localhost yichen]# ll /eichi ls: cannot access /eichi: No such file or directory [root@localhost yichen]# ll eichi total 0 -rw-r--r--. 1 u1 u2 0 Sep 9 13:20 a -rw-r--r--. 1 u1 u2 0 Sep 9 13:20 b -rw-r--r--. 1 u1 u2 0 Sep 9 13:20 c -rw-r--r--. 1 u1 u2 0 Sep 9 13:20 d

注意:

普通用户可以修改所有者是自己的文件的权限;不能修改文件的所有者(哪怕文件是属于这个普通用户的),只有超级用户才能修改所有者

chgrp是修改文件和目录的所属组的命令,且只能修改文件或目录的所属组;chown也可以修改组,记一个即可

  • 命令名称: chgrp
  • 英文原意: change group ownership
  • 所在路径:/bin/chgrp
  • 执行权限:所有用户
  • 功能描述:修改文件和目录的所属组

命令格式

复制代码
1
2
3
4
chown [选项] 所属组 文件或目录 选项: -R 递归设置权限 即对目录与其下的子文件都修改权限

案例演示

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#修改a文件的所属组 [root@localhost yichen]# chgrp u1 a [root@localhost yichen]# ll total 0 -rw-r--r--. 1 root u1 0 Sep 9 06:22 a #修改haha目录及其下的文件的所属组 [root@localhost yichen]# mkdir haha [root@localhost yichen]# touch haha/{1..3} [root@localhost yichen]# ll total 0 -rw-r--r--. 1 root u1 0 Sep 9 06:22 a drwxr-xr-x. 2 root root 33 Sep 9 13:33 haha [root@localhost yichen]# chgrp -R u1 haha [root@localhost yichen]# ll haha total 0 -rw-r--r--. 1 root u1 0 Sep 9 13:33 1 -rw-r--r--. 1 root u1 0 Sep 9 13:33 2 -rw-r--r--. 1 root u1 0 Sep 9 13:33 3 [root@localhost yichen]# ll total 0 -rw-r--r--. 1 root u1 0 Sep 9 06:22 a drwxr-xr-x. 2 root u1 33 Sep 9 13:33 haha

3、基本权限的作用

权限对文件的作用

  • r(读):对文件有读(r)权限,代表可以读取文件中的数据

    复制代码
    1
    2
    文件有r,即可以对文件执行cat、more、less、head、tail等文件查看命令
  • w(写):对文件有写(w)权限,代表可以修改文件中的数据

    复制代码
    1
    2
    文件有w,就可以对文件执行vim、echo等修改文件数据的命令

    注意:
    对文件有写权限,是不能删除文件本身的,只能修改文件中的数据;如果要想删除文件,则需要对文件的上级目录拥有写权限

    因为文件的文件名是存储在上级目录的block中的,如下图(截选自硬链接的详解)

在这里插入图片描述

  • x(执行):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行

    复制代码
    1
    2
    3
    4
    5
    Linux中,文件存在x,这个文件就是执行文件了;正确执行的要素 1、需要执行(X)权限 2、文件中的代码是正确的语言代码 对文件来说,执行(X)权限是最高权限。

权限对目录的作用

  • 读( r ):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。

    复制代码
    1
    2
    目录拥有了r,就可以在目录下执行ls命令,查看目录下的内容
  • 写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录

    复制代码
    1
    2
    目录拥有了写w,可以在目录下执行touch、rm、cp、mv命令对目录来说,写权限是最高权限
  • 执行(X):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录

    复制代码
    1
    2
    目录拥有了执行x,就可以对目录执行cd命令,进入目录

其实目录的可用权限就三个

  • 0 任何权限都不赋予
  • 5 基本的目录浏览和进入权限
  • 7 完全权限

解释:

要想查看目录的内容,必须要有r,单纯有r也不行,因为要进入目录必须要有x;所以最基础的查看与进入就是r_x权限,即5权限,如果还想要修改目录的内容,就增加w权限即可,即写权限

4、默认权限

说明:

  • 对于普通文件来说,最大权限位666,不允许默认有执行权限,执行权限对文件来说是高危权限
  • 对于目录来说,最大权限是777,执行仅仅代表可以进入目录,没有什么危险

默认权限为umask:022 使用的二进制的逻辑与和逻辑非联合运算得出

手工计算,用的是每个位的相减,而不是 数字的相减

举例:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
普通文件 -rw- rw- rw- ---- -w- -w- 得出 -rw- r-- r-- 即644 目录 drwx rwx rwx d--- -w- -w- 得出 drwx r-x r-x 即755

案例演示

在这里插入图片描述

复制代码
1
2
3
4
普通用户的UID大于500;普通用户的umask是002,root用户的umask是022 临时修改umask umask 033 永久修改vim /etc/profile 环境变量配置文件

最后

以上就是聪明口红最近收集整理的关于Linux常用命令——基本权限管理基本权限管理的全部内容,更多相关Linux常用命令——基本权限管理基本权限管理内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(98)

评论列表共有 0 条评论

立即
投稿
返回
顶部