【Linux从入门到精通】Linux中的权限管理(实例+详解)1

简介: 本篇文章对Linux下的普通用户和超级用户进行了对比详解。同时有添加和删除普通用户的讲解。也详细的解释了普通文件的权限、拥有者、所属组设置方法,和对目录的权限设置方法。根据需求引出粘滞位,对粘滞位进行详细的解释。解释每个要点是都带有实例,超级详细且容易理解!!!

本篇文章对Linux下的普通用户超级用户进行了对比详解。同时有添加和删除普通用户的讲解。也详细的解释了普通文件的权限、拥有者、所属组设置方法,和对目录的权限设置方法。根据需求引出粘滞位,对粘滞位进行详细的解释。解释每个要点是都带有实例,超级详细且容易理解!!!


一、Linux下用户



 Linux下的用户分为两种:普通用户(自建用户)和超级用户(root 用户)。当然,在Linux下,可创建多个普通用户,但始终只有一个超级用户。


 两种用户是有所区别的:


超级用户:可以再linux系统下做任何事情,不受限制;

普通用户:在linux下做有限的事情;

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

1、1 useradd/userdel  添加和删除普通用户

 我们在上面了解到有普通用户和超级用户。初次在Linux下操作,即为超级用户(root用户)。我们想添加一个新的普通用户,可以用到指令:useradd 用户名。具体如下:



7f8f51cd914c471cb9b4ea05197fd6a5.png

添加用户后,我们可对新添加的用户进行设置密码,指令:passwd 用户名。具体如下图:

 我们设置好密码后,也可通过 passwd 用户名 进行修改密码。


我们突然发现此用户已经没有用了,我们想要删除该用户。可以用到指令:userdel -r 用户名。 我们可结合下图理解:

 注意:userdel -r 用户名中的 -r 是必不可少的。如果我们不添加 -r 选项,发现用户是已经被删除了,但是用户的文件任然在。具体如下:



39eabc509ad4439d83e3c7d5e7d8408d.png


1、2 su 用户切换

 我们可在 root 下的家文件中(home)可查看当前的所有普通用户,如下:


  那用户之前怎么相互切换呢895da291dfa146d2b78131de95d3f8e0.png?我们需要了解一个命令:su


 命令 : su [ 用户名 ]

 功能 :切换用户。

 例如,要从 root 用户切换到普通用户 user ,则使用 su user 。 要从普通用户 user 切换到 root 用户则使用 su root( root 可以省略),此时系统会提示输入 root用户的口令。

 我们可看下面的实例:

2789cb11609947e7b84dce3aa7ab521e.png


我们细心观察的话,可以发现:从root用户切换到gtm用户,无需密码。而从gtm用户切换到root用户,需要输入root用户的密码。这方面也间接的体现出权限的问题。我们下面会详解。

二、Linux文件权限管理

2、1 文件访问者


 文件访问者的共有三种:


拥有者。文件和文件目录的所有者:u---User(中国平民 法律问题);

所属组。文件和文件目录的所有者所在的组的用户:g---Group;

其他。其它用户:o---Others。

 通俗来讲,这个文件可以属于我们自己,权限也只有自己可使用(User)。我们也可对一部分人进行公开一定权限,我们称之为同组类(Group)。也可对所有人进行访问该文件,除了我们自己和同组人,剩余的我们称为其他(Others)。



2、2 文件类型和访问权限(事物属性)


一个文件,我们对其可进行哪些操作呢?我们可以阅读该文件,或修该文件的内容,再或执行该文件。无非就这三种操作。我们也称之为文件的基本操作:


读(r/4 ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限;

写(w/2 ): Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限;

执行(x/1 ): execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限;

“-” 表示不具有该项权限。

 可能现在对上述有些容不太理解,我们先接着往下看,回头再看会理解的。我们先看一个文件的详细属性:


597666c3bfdf491cadf9dafbe0e4d8f5.png


 权限我们这里给出了大概,详细又分拥有者、所属组、其他人的权限。具体可看下图:



aed635c11af24b5f81acd09ef25d4466.png


 其中第一个文件类型具体又分一下几种:


d :文件夹;

- :普通文件;

l :软链接(类似 Windows 的快捷方式);

b :块设备文件(例如硬盘、光驱等);

p :管道文件;

c :字符设备文件(例如屏幕等串口设备);

s :套接口文件。

 这里我们不再对文件进行详细描述了,我们遇到知道该字符所指的文件类型为什么即可。

 我们在上面看到权限的不同访问者的权限,拿这些字母都表示什么意思呢?我们先看如下表格:


5e948239cd5a4061804170803edf48af.png

在这里稍微给大家解释一下。访问者访问该文件,无非就是有某种访问权限或者无某种访问权限两种。这里'r'、’w'、'x'分别代表的时有该种权限,’-‘ 表示无该种权限。且每个访问者的权限分别都用了三位来表示,且 'r'、’w'、'x' 的位置不可更换。


 当我们了解到了文件的访问者和权限后,我们更关心的是怎么去修改这些权限呢?其中的细节又有哪些呢?我们接下来要进入到重点了!!!


2、3 文件权限的相关设置方法


 修改文件的访问权限的指令为 chmod 。


 功能: 设置文件的访问权限

 格式: chmod [ 参数 ] 权限 文件名

 常用选项:

R -> 递归修改目录文件的权限;

说明:只有文件的拥有者和root才可以改变文件的权限

 chmod指令全限制的格式:

用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限;

-:向权限范围取消权限代号所表示的权限;

=:向权限范围赋予权限代号所表示的权限;

用户符号:u:拥有者 、g:拥有者同组用、o:其它用户、a:所有用户。

 我们了解到这里指令的使用方式后,具体怎么使用和其中的细节,我们看下面的实例会给大家详细介绍。  

2、3、1 chmod 修改文件权限

 修改文件权限指令:chmod [参数] 权限 文件名。我们可结合下图一起理解:




f21864f20366462893fc86152c22df25.png

 当我们修改权限只有’w‘时,我们就是不能够阅读该文件和执行该文件的,如下:

 那要是我们进入到root用户,去阅读该文件是否被允许呢?此时的文件拥有者和所属组均为gtm用户,此时root用户充当着其他人(Other)的角色。a4700a740bc24d2b85eac5bea1ecbf77.png


我们发现是可以的耶。但是要注意的是,root用户不能执行该文件。为什么呢?如果没有执行的权限,说明此文件并不一定是安全的,万一有风险呢?所以我们这里不可直接执行。如果执意要执行,我们也可在root用户下对其直接增加可执行权限。

3020613ce59a461e87ad6c7e60273e68.png

通过这里我们似乎感觉到root用户基本无权限限制,真的是这样嘛?我们接着往下看。我们在尝试去掉其他用户(Other)’w‘权限,看 root 用户是否可以进行编辑操作


fa9ca80629fa40d7a79a141c29543973.png


 我们发现确实是可以的。 通过下面实例,我们也可发现root用户的全限基本无限制。

2、3、2 修改文件权限(八进制)


我们发现,一个访问者的权限,无非就 ' r ' 、'  w '、' x '三种权限。表示是否有该权限的状态就两种:有( ' r ' 、'  w '、' x ') 或者没有( '-' )。那我们就想到了用二进制的1和0来表示是否有该权限。如下图,对应出来一个访问者的二进制权限表示:110 000 101。


cd57676ad9934c60a4e2ce2adec664bf.png


 我们把它转换为对应数字605。一个访问者由三个二进制转换为数字最高不超过8。所以我们称之为8进制。  具体怎么用八进制进行修改权限呢?我们看下图实例:

2、3、3 chown 修改文件的拥有者


 修该文件的拥有者所用指令:chown 用户名 文件名 。我们可结合下图理解:

 我们发现这里我们修改拥有者的操作别禁止了。

为什么呢?这就好比如,我们把文件给root用户,我们就不需要征得root用户的同意了吗?答案是需要的。我们仍需要整的root用户的同意的,并不是我们给人家,人家就得要。我们可在该命令前加 sudo,或者切换到root用户下进行修改都可以的,具体如下图:

9825f01ff83f4af4be7a6405940e3e33.png


但是我们同时又发现,在root用户下可以随便修改文件的拥有者。如下图:

 本属于root的文件,我们强行给到gtm用户,也可在次修改回来。我们再次发现root用户权限基本无限制。而普通用户权限需受到限制。

相关文章
|
3天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
7 0
|
4天前
|
缓存 安全 Linux
Linux入门基本指令(2)
Linux入门基本指令(2)
11 0
|
4天前
|
Linux Windows
Linux入门基本指令(1)-2
Linux入门基本指令(1)
9 1
|
4天前
|
Linux 数据安全/隐私保护 Windows
Linux入门基本指令(1)-1
Linux入门基本指令(1)
13 1
|
5天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
6 0
|
5天前
|
Linux Shell
Linux 终端入门
Linux 终端入门
|
6天前
|
存储 Linux 数据安全/隐私保护
【Linux修行路】权限管理
【Linux修行路】权限管理
|
6天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
8 0
|
6天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
11 0
|
7天前
|
安全 Linux Python
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程