【linux】root大王如何制约普通用户——权限管理

简介: 【linux】root大王如何制约普通用户——权限管理

用户

超级用户(root):可以在linux下几乎不受权限约束

普通用户:几乎受所有权限的限制

root用户只有一个,root用户可以创建多个普通用户。创建方法如下:

创建用户:useradd 用户名

设置用户密码:passwd 用户名

示例:

普通用户的家目录在 /home,可输入如下指令验证

cd ~ 转跳到家目录

cd.. 进入上级目录

ls 查看该目录下的用户

root用户和普通用户可以相互转化

su 用户名 普通用户转root用户需要输入root用户的密码,root用户转普通用户一般不需要输入普通用户的密码

示例

su - 用户名切换身份,并且回到被切换用户的家目录。

示例


文件属性

在linux下一切皆文件。无论是root用户还是普通用户访问文件时被分为三类

文件的拥有者
文件的所属组
其他用户

所属组代表一个用户,介于拥有者和其他用户之间的一个用户

文件类型

d :文件夹

- :普通文件

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

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

p :管道文件

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

s :套接口文件

基本权限

r:读权限,

对普通文件而言,具有读取文件内容的权限;对目录文件来说,具有浏览该目录信息的权限

w:写权限

对普通文件而言,具有修改文件内容的权限;对目录文件来说具有删除移动目录内文件的权限

x:可执行权限

对普通文件而言,具有执行文件的权限;对目录文件来说,具有进入目录的权限

-:无权限

有了上述了解就可以查看文件属性了

输入ll 可查看文件属性。如果没有文件,可输入touch 文件名 创建文件,如果没有目录文件,可输入mkdir 目录文件名 创建目录文件

如下是一个文件的属性

文件权限值的表示方法

符号表示 说明 符号表示 说明
r-- 可读 -w- 可写
--x 可执行 rw- 可读可写
-wx 可写可执行 r-x 可读可执行
rwx 可读可写可执行 --- 无权限

文件权限八进制表示

权限符号 二进制 八进制
r-- 100 4
-w- 010 2
--x 001 1
rw- 110 6
r-x 101 5
-wx 011 3
rwx 111 7
--- 000 0

更改文件权限

chmod

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

格式: chmod 选项 权限 文件名

常用选项:

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

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

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

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

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

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

用户符号:  

u :拥有者

g :拥有者同组用

o :其它用户

a :所有用户

普通文件示例

目录文件示例


更改文件拥有者

需要root权限更改

chown

功能 :修改文件的拥有者

格式 chown  用户名 文件名

示例


更改文件所属组

需要root权限更改

chgrp

功能 :修改文件或目录的所属组

格式 chgrp 选项 用户组名 文件名

常用选项 -R 递归修改文件或目录的所属组

示例


用户的权限

普通用户:

访问文件时,会先去匹配是否是文件的拥有者,不是的话再去匹配是否是文件的所属组,都不是的话会认为该用户为其他用户。

如果该用户同时是拥有者和所属组,那么该用户只会被匹配成拥有者,而不是所属组或两者都是。

完成上述工作后,会看该用户是否有 r w x 三种权限

超级用户:

不受拥有者,所属组,其他用户分类的限制,也不受r w x 三种权限的限制。

只要是文件,超级用户都有:读权限,写权限,可执行权限,更改拥有者权限,更改所属组权限


文件掩码

umask

功能

查看或修改文件掩码

格式 umask 权限值

说明 :将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用户默认为0002

新建文件默认权限为 0666  新建目录默认权限为0777

0666 :666对应的是:

拥有者为八进制的6,所属组为八进制的6,其他用户为八进制的6

6对应的权限为可读可写

但实际上所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。

实际创建的出来的文件权限是(二进制计算) :

实际权限 = 默认权限 & (按位与) ( ~ (按位取反) 权限掩码)

经过上述算法, 在权限掩码中出现的过的权限不会在实际权限中出现

权限掩码就像一个漏斗,把文件不想要的权限默认去掉

演示效果:

如果想要让生成的文件的所属组和其他用户无权限该怎么做呢


粘滞位

目录文件的 r w x 三种权限对应如下功能

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

创建用户本质是在home目录下创建了一个目录文件,该目录的权限如下图

这说明 各个用户之间是隔离的

那么各个用户如果要共享资源怎么办呢?方案之一是在根目录下创建一个权限放开的目录,该目录存放公共资源,由于权限开放,每个用户都可以访问公共资源

如下图

那么问题来了

只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写

权限

那么有什么解决方案吗

于是就有了一个特殊的权限, t —— 粘滞位。 t 是特殊的 x 的权限。

如果目录被设为 t 权限,那么该目录下的文件只能被拥有者和root删除

设置方法: chmod +t 文件名

现在还能删吗

其他用户以无权删除


总结

这里小小总结一下

用户分为两种:普通用户,超级用户

文件属性有:拥有者,所属组,其他用户,可读权限,可写权限,可执行权限,文件大小,修改时间,文件名

普通用户受到的限制很大,超级用户几乎不受限制

更改文件权限 : chmod

更改文件拥有者: chown

更改文件所属组: chgrp

文件掩码: umask

粘滞位: t

相关文章
|
安全 Linux 数据安全/隐私保护
linux root登陆,密码正确但,错误提示su: Authentication failure
通过系统化的排查和解决方案,可以有效应对 `su: Authentication failure` 问题,确保系统安全和用户权限的正确管理。
6719 36
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
642 6
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
512 1
linux权限管理
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
Linux 数据安全/隐私保护
探索Linux操作系统下的权限管理
【8月更文挑战第66天】在数字世界中,操作系统的权限管理就如同现实世界中的钥匙和锁,保护着我们的数据安全。本文将带你深入理解Linux系统中的权限设置,通过实际代码示例,让你掌握文件和目录权限的分配与管理技巧。准备好了吗?让我们开始这场关于权限管理的探险之旅吧!
328 14
|
安全 关系型数据库 MySQL
在Linux中,如何重置 mysql root 密码?
在Linux中,如何重置 mysql root 密码?
|
安全 Linux 数据安全/隐私保护
驾驭Linux的权力:Root与Sudo
在 Linux 系统中,权限管理至关重要,Root 用户与 Sudo 命令为核心组件。Root 作为超级用户,拥有最高权限,可执行任意命令,但也带来较高安全风险,建议仅在必要时使用。Sudo 则允许系统管理员授予普通用户临时的 Root 权限以执行特定命令,提升了系统的安全性和管理灵活性。通过合理配置 Sudoers 文件,可以实现对用户权限的精细化管理。综合运用 Root 和 Sudo 可确保系统的安全稳定运行。
694 1
|
监控 安全 Linux
在Linux中,什么是 root 帐户?
在Linux中,什么是 root 帐户?
|
安全 Linux 数据安全/隐私保护
Linux安全大揭秘:一键切换root权限背后隐藏的秘密
【8月更文挑战第23天】Linux操作系统因其出色的灵活性和安全性备受推崇,用户权限管理是其核心功能之一。本文介绍如何安全地在用户间切换,特别是切换至拥有最高权限的root用户。我们探讨了两种主要的方法:`su` 和 `sudo` 命令,并通过示例展示了它们的应用场景。`su` 命令适合需要执行多个root权限操作的情况,而 `sudo` 更适用于临时执行单个高权限命令。同时,文章还提供了一些最佳实践,如避免长时间使用root账户、定期审查 `sudoers` 文件等,以确保系统的安全性。正确理解和应用这些工具和原则对于维护Linux系统的安全至关重要。
288 0
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?