【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


相关文章
|
5天前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
15 1
|
11天前
|
Linux 数据安全/隐私保护 Windows
Linux专栏10:Linux权限详解(上)
Linux专栏10:Linux权限详解(上)
32 3
|
3天前
|
Shell Linux 程序员
详解shell 运行原理及Linux权限
详解shell 运行原理及Linux权限
|
2月前
|
关系型数据库 MySQL Shell
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
|
2月前
|
监控 安全 Linux
【权限维持】Linux&OpenSSH&PAM后门&SSH软链接&公私钥登录
【权限维持】Linux&OpenSSH&PAM后门&SSH软链接&公私钥登录
|
2月前
|
Linux 数据处理 数据库
深入解析Linux命令id:理解用户身份与权限
`id`命令在Linux中用于显示用户身份(UID, GID和附加组)。它查看系统用户数据库获取信息。参数如`-u`显示UID,`-g`显示GID,`-G`显示附加组,结合`-n`显示名称而非ID。用于确认命令执行者身份,确保权限正确。在脚本中使用时注意权限管理,遵循最小权限原则。
|
2月前
|
Java Linux PHP
【应急响应】后门攻击检测指南&Rookit&内存马&权限维持&WIN&Linux
【应急响应】后门攻击检测指南&Rookit&内存马&权限维持&WIN&Linux
|
2月前
|
监控 网络协议 Ubuntu
【权限维持】Linux&Rootkit后门&Strace监控&Alias别名&Cron定时任务
【权限维持】Linux&Rootkit后门&Strace监控&Alias别名&Cron定时任务
|
1月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
1月前
|
Linux 数据安全/隐私保护 iOS开发
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro