【Linux】一文带你掌握Linux权限!1

简介: 【Linux】一文带你掌握Linux权限!

本篇将由五个问题来为大家讲解Linux权限方面的内容


问题一:Linux下的用户分类有哪些?

宏观方面我们可以将Linux中的用户分为两类:


root:超级用户;当然我们windows操作系统也有root用户,比如我们打开某一个应用程序的时候使用管理员方式打开,就是Windows中的root。

普通用户:我们新建的用户,adduser



他们之间的差别主要是:

  • root用户基本不受权限的约束
  • 普通用户是授权限限制的

这两个用户之间是可以相互切换的,那么应该如何切换呢?


Linux中的所有用户,都需要有密码,无论是root还是其他,即便是多个普通用户,也都要设置密码

我们在普通用户情况下可以使用su或者su -来切换为root用户:

eg:whoami查看当前用户使用su进行切换>

1ffd0c410576499891cceb5ec5a717b7.png


这里提示我们需要输入密码(这里的密码是root账户的密码!)

输入验证完成之后我们可以看到目前是已经切换为root账户了>


ed2c3fc5b38e43a5b85f1399cce8cd04.png


那我们要退出root账户我们可以使用exit指令或者ctrl+d退出root用户>

4bc6ff04a86d4da68e879a63ce63ed05.png


使用su-切换的时候是直接使用root账号进行登录,他会直接到root账户的家目录中>


57b68b3c30e849c58db27f960f7a5550.png


当然也可以使用exit或者ctrl+d进行退出。

root用户也可以切换普通用户 直接su 用户名切换:


8b9d6c2f4445460daaa97a374c205781.png


我们可以看到root切换到普通用户是不需要输入密码的。(我是root,我就是这么嚣张,我想变成谁就变成谁

想退回root账户使用ctrl+d退回。

当我们想要对一个一条指令进行短暂的提权的时候可以使用sudo +指令>

f28a8dec8e4345fc880581cad553e7b2.png


这里提示我们输入账户(csdnyyds)的密码>我们输入密码回车之后就会看到这条指令的权限已经是root了>


483b59a2f3284348b4677bdeddcfd2db.png

因为每个系统不一样,一般来说对于一条指令进行提权之后的十几分钟内是不需要输入密码的>


2b7c63322b124b1284842010a060f83b.png【注意】:

我们使用adduser新建的用户,没有办法执行sudo,系统不信任你,除非将普通用户,添加到信任的白名单中。

把用户添加到信任白名单的方法>

  1. 使用root账号输入nano /etc/sudoers指令,进入编辑器后按↓进行下翻找到这个部分

ee701d1cee704ddeb2eb0d07e5632b2a.png

2.将我们的csdnyyds账户类似于root格式一样加在下面>

067d0e0bbbdd44f195c8b6c27e6d705b.png

  1. 最后按下ctrl+x退出->按y保存->回车退出

这样我们就把csdnyyds用户添加到系统的信任白名单中了。


问题二:什么叫做权限?

假如我是一名普通的腾讯视频用户,我们就没有权限观看vip电影,当我们成为腾讯视频vip用户就可以观看vip电影。

说白了权限就一句话:“一件事情是否允许被你做”这就是权限。


  1. 权限认证的是身份 (权限和“人”有关)
  2. 权限也和事物的“属性”有关。

文件的属性:可读、可写、可执行。

我们创建一个test.txt文件来观察一下他的属性.


546be4b7370742e0a8640f121b76bfe2.png


Linux中如何看待后缀:看用户需求。

我们再来看文件类型后面的代表什么意思:


ccd1c3c4383e498ca5a3fc4b694456d8.png


通过上面我们可以看到有拥有者、所属组、为什么没有其他人(other)呢?

Linux判断是否具有查看权限可以这样理解>


if(访问者==拥有者)
{
  //拥有者 >可以访问
}
else if(访问者==所属组)
{
  //所属组 >可以访问
}
else
{
  //other >不能访问
}

先判断是否为拥有者,如果不是再判断是否为所属组,如果还不是那么就是other了。

cc4cf2a131b3496aa0da7b550d82beaa.png

比如上面的test.txt文件来说:

对于拥有者可写、可读、不可执行;

对于所属组可读、可写、不可知性;

对于other可读、不可写、不可执行;

注:对于root用户来说不受任何权限限制


问题三:见一见没有权限是什么现象(看看就好了)


d529874f7cd94d11b7437341ed17f0d6.png


但是使用root账户可以对该文件随意访问(我是root,我就是这么嚣张,我想查看那个文件就查看那个文件,想修改用户中的那个文件就改那个文件):


fb7a4d9e94e14d458ce5a745d79a4927.png


问题四:权限的修改问题。

一般来讲可以更改权限的有两种人:拥有者、root。


chmod

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

【语法】:chmod [参数] 权限 文件名

常用选项:

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

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


chmod

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

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

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

=:向权限范围赋予权限代号所表示的权限 用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

07a306111220447299ff7d0d2e9b2255.png

我们也可以把rwx转为八进制数比如rwx可以转换为111、r-x可以转换为101。


7a57ace338b745b7a4b3ad3d07fa6c69.png



我们再来通过八进制数来对文件的权限进行修改>


cedfd7bbeff5404b8ffd5107d726b9a7.png


注:两种权限的设置方法掌握一种即可

chown

功能: 修改文件的拥有者

【语法】:chown [参数] 用户名 文件名


01365748f82e4120a3bdfaa44b5e677d.png


这里发现我们无法修改:

原因:我们把一个文件给一个人必须要征求对方的意见。

那么有两种解决方法:

  1. 给指令进行短暂的提权
  2. 使用root账户进行修改

ec031733e32e44cf9f1d399e0ebe3f6b.png


我们可以发现对指令进行短暂提权之后就可以进行直接修改。

我们再来使用root账号进行修改>


386184d432524222b6b17c473511d23e.png


相关文章
|
29天前
|
存储 安全 Linux
Linux权限之谜:一步步教你如何解锁sudo权限并窥视/etc/shadow的神秘面纱!
【8月更文挑战第22天】在Linux中,`sudo`命令让授权用户能以其他用户(通常是root)身份运行命令。关键的安全文件`/etc/shadow`存储用户密码哈希,仅root可读。要使用`sudo`,需确保账户被列入`sudoers`文件中。系统管理员可通过`visudo`编辑此文件来赋予用户权限,例如添加`username ALL=(ALL) NOPASSWD: ALL`行。获得`sudo`权限后,可运行`sudo cat /etc/shadow`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
45 2
|
30天前
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?
|
1月前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
34 1
|
1月前
|
Linux 数据安全/隐私保护 Windows
Linux专栏10:Linux权限详解(上)
Linux专栏10:Linux权限详解(上)
38 3
|
22天前
|
Unix Linux Go
Linux中的chmod权限问题
Linux中的chmod权限问题
16 0
|
28天前
|
安全 Linux 数据安全/隐私保护
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
|
28天前
|
Linux
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
|
28天前
|
安全 Linux 数据安全/隐私保护
Linux安全大揭秘:一键切换root权限背后隐藏的秘密
【8月更文挑战第23天】Linux操作系统因其出色的灵活性和安全性备受推崇,用户权限管理是其核心功能之一。本文介绍如何安全地在用户间切换,特别是切换至拥有最高权限的root用户。我们探讨了两种主要的方法:`su` 和 `sudo` 命令,并通过示例展示了它们的应用场景。`su` 命令适合需要执行多个root权限操作的情况,而 `sudo` 更适用于临时执行单个高权限命令。同时,文章还提供了一些最佳实践,如避免长时间使用root账户、定期审查 `sudoers` 文件等,以确保系统的安全性。正确理解和应用这些工具和原则对于维护Linux系统的安全至关重要。
35 0
|
28天前
|
安全 Linux 数据安全/隐私保护
在Linux中,什么是最小权限原则?
在Linux中,什么是最小权限原则?
|
30天前
|
Linux Go
在Linux中,文件和目录的权限有何作用以及如何修改?
在Linux中,文件和目录的权限有何作用以及如何修改?