【Linux】权限管理

简介: 我们购买服务器后最开始都是以root为用户名登陆的,这个root用户我们称为超级用户,他可以再linux系统下做任何事情,不受限制。除了超级用户root外我们还可以自己创建普通用户。

一. Linux下的用户

我们购买服务器后最开始都是以root为用户名登陆的,这个root用户我们称为超级用户,他可以再linux系统下做任何事情,不受限制。除了超级用户root外我们还可以自己创建普通用户。


1. 普通用户的创建

首先要保证在root用户下(因为root权限最大)

操作


输入 adduser 用户名 创建用户

7b937f8d36914507bcc8f84ced9efab9.png

输入 passwd 用户名 输入密码,和再次确认输入密码

f7ef08dfdad947b281db81428843ce05.png

注意你输入的密码是不回显的,输错了也不能按取消键取消。两次都输入正确他会提示你密码更新成功,下次登录时就可以用你创建的这个普通用户登录了。


6dd678df45d946789e27a2c4fcf34a20.png

2. 普通用户和root用户的区别

root用户可以在linux系统下做任何事情,不受限制;普通用户只能做有限的事情。

root用户的命令提示符是 #,普通用户的命令提示符是 $

8379a1e991a249f691da4765c5677034.png

2. su指令(switch user)

作用:实现该服务器下各个用户之间的切换

用法:su 用户

su root时,root可以省略,也是切换到root用户74102d47622f4356bf1f36fcb9c11cb6.png

普通用户的切换切换需要输入对方的密码;普通用户切换到root需要输入root密码;root用户切换到普通用户不需要密码。


二. 文件的访问者

对于一个文件而言,访问他的不外乎有三个对象:拥有者(user)、所属组(group)、其他人(other)。这三个对象既可以是root用户,也可以是普通用户


三. 文件类型和访问权限

我们创建一个file.txt文件和dir目录,并用ls -l得到它们的详细信息

7ada3dea85bc444ca5894c5b16f8b0cb.png


1. 文件类型

最左边表示的就是文件类型

da245f2c5b1849b0a94f09ec9e7cfc6c.png


d:文件夹

-:普通文件

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

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

p:管道文件

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

s:套接口文件

2. 基本权限

三个为一组,从左到右分别表示拥有者,所属组和其他人的对这个文件拥有的权限。


92e2e914af1a4ba5afce13389d279983.png

r:即read。对于文件而言具有读取文件内容的权限;对目录而言具有浏览该目录信息的权限。

w:即write。对文件而已具有修改文件内容的权限;对目录而言具有删除和移动目录内容的权限。

x:即execute。对文件而言具有执行文件的权限;对目录而言具有进入目录的权限。

- 表示不具有该项权限。

rwx的相对顺序是不变的

x是r和w的先决条件,没有x权限,那么r和w就不能被指向

这些权限是针对特定对象的包括:拥有者、所属组、其他人

3. root和拥有者、所属组、其他人的关系

其实拥有者、所属组和其他人以及他们对应的权限主要针对的是普通用户,root用户的权限是不受他们限制的。即使对这个文件而言root是其他人,并且权限什么都没有即"- - -",root用户依然随便访问这个文件,而普通用户则要严格收到相应的权限的限制。


4. 文件权限值的表示方法

文件权限还有其他的表示方法,我们上面看得到就是其中的一种:字符表示法。


字符表示法


字符 说明

rwx 可读可写可访问

rw- 可读可写

r- - 只可读

- - - 无权限

二进制数值表示方法


权限符号(字符表示) 二进制表示

rwx 111

rw- 110

r- - 100

- - - 000

八进制数值表示法


权限符号(字符表示) 八进制表示

rwx 7

rw- 6

r- - 4

- - - 0

5. 文件访问权限的相关设置方法

设置文件的访问权限是指设置文件的拥有者、所属组的用户和拥有者、所属组和其他人对该文件的访问权限。只有root和该文件的拥有者才能修改。

d0b2f0912159436dbf92bf6a08760194.png


5.1 chmod指令(change mode)

作用:设置文件的访问权限

用法:chmod 权限 文件名


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

这种方法常用于对单个用户的权限进行设置,结合权限的字符表示法。


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

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

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

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户


e784e511d58648358f1240c6696f934b.png

②三位8进制数字

适合一次对所有用户的权限进行更改,结合权限的八进制数值表示法,在chmod后面直接加上要设置权限的对应的三位八进制数字即可。

f3f571bbd62b4c91b52be6f70ae833ec.png


5.2 chown指令(change own)

作用:修改文件的拥有者

用法:chown 用户名 文件名


950d5da227b34f8997a4e3e02b5b22ab.png

5.3 chgrp指令(change group)

作用:修改文件或目录的所属组

用法:chgrp 用户组名 文件名


e83a1279717848f79ba20261281f54fb.png


6. umask指令(linux mask)

这个指令可以查看或修改当前用户的权限掩码,从而来控制我们所创建文件的默认权限。


新建文件夹默认权限mask=0666

新建目录默认权限mask=0777

普通用户的权限掩码(umask)默认为0002,超级用户的默认为0022

实际创建的文件的权限:mask & (~umask)

a5fe439bae3b429c8ff5b4ed40ac118a.png

7. 粘滞位

有这样一种情况,有好几个普通用户共同完成一件工作,他们最后要把他们的工作成果都汇集到root用户里的一个tmp目录里,也就是把他们各自相应的文件拷贝或移到到tmp里。他们对于tmp这个文件而言是其他人,他们要移动或拷贝自己的文件到tmp里就要有写(w)的权限,这个权限不仅能给tmp里添加文件还能删除文件,也就是说其他普通用户可以把你移动到tmp里的文件删除!在w权限下既要保证你们可以把文件都添加到tmp里,又要你们删除别人的文件,两个都想要怎么办呢?


为了解决这个问题, Linux引入了粘滞位的概念:当一个目录被设置为"粘滞位"(用chmod + t + 目录名),则该目录下的文件只能由:


超级管理员(root)删除

该目录的拥有者删除

该文件的所属组删除

92eba4e186b445d5b65e38b36e32d4ec.png

我们把tmp这个目录设置为“粘带位”就可以解决这个问题,这样的话我们放进去的文件只能被tmp目录的所有者(这里是root)、超级用户、文件的拥有者和所属组删除。而不会被其他人输出流,因为其他人,包括我们自己对tmp这个目录的访问权限都是t/T


四. 关于权限的总结

root用户可以横行霸道,对所有用户的所有文件的访问都无视权限,而普通用户文件的访问要严格遵循他对于这个文件的身份(是拥有者、所属组还是其他人)结合相应的权限来访问。

有粘滞位的目录,其他用户虽然有w的权限,但是只能对这个写入文件,不能删除别人存在里面的文件。


相关文章
|
算法 Linux 数据安全/隐私保护
【linux】root大王如何制约普通用户——权限管理
【linux】root大王如何制约普通用户——权限管理
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
281 0
|
算法 Linux 数据安全/隐私保护
Linux权限管理:深入理解setuid、setgid、seteuid和setegid
Linux权限管理:深入理解setuid、setgid、seteuid和setegid
1334 0
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
444 1
linux权限管理
|
11月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
Linux 数据安全/隐私保护
探索Linux操作系统下的权限管理
【8月更文挑战第66天】在数字世界中,操作系统的权限管理就如同现实世界中的钥匙和锁,保护着我们的数据安全。本文将带你深入理解Linux系统中的权限设置,通过实际代码示例,让你掌握文件和目录权限的分配与管理技巧。准备好了吗?让我们开始这场关于权限管理的探险之旅吧!
298 14
|
安全 Linux Shell
【Linux】权限管理
【Linux】权限管理
151 5
|
网络协议 Linux 数据安全/隐私保护
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
176 0
【Linux操作系统】权限管理和粘滞位
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。