【Linux】一文掌握Linux权限

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

前言


权限 一词相信大家都不陌生,与我们的生活密切相关。小区里的门禁制度、公司里的管理制度、学校里的校规规定、甚至是社交平台上的一些设置等。可以说我们人类是被生活中的种种“权限”所“约束”着。


1.png


在Linux中同样存在着权限的概念,最主要分为:文件权限以及目录权限,所“约束”的对象则为各种用户。


权限是什么?


简单来说,权限就是一件事情是否允许被“谁”来做。这里的“限”是用来限制人的,而人所访问的对象可能天然没有某种“属性”。


就比如说,我们不可能在爱奇艺里打英雄联盟、也不可能在英雄联盟里观看电影,因此我们可以这样认为:权限=人+事物属性


Linux中的用户分类


Linux中主要分为两类用户:超级用户(root)、普通用户

超级用户(root):权限非常高、几乎可以做任何事情、有且仅有一个。

普通用户:由超级用户创建、可以有很多个,在涉及到某些操作时会权限不足。


普通用户的创建以及删除

adduser 用户:增加用户

userdel -r 用户:删除用户并删除该用户所在的家目录

passwd 用户:为用户增加密码


2.png


用户的切换

su 用户:切换到指定用户(root下可以随意切换,且不需要输入用户密码)另外,假如 没有指定用户,则会切换到root


su - :切换到超级用户家目录(类似于重新登陆),并显示最近登录信息


3.png


Linux的文件属性


文件的类型与权限

文件的权限分为以下三种:可读(r)、可写(w)、可执行(x)


Linux不用文件的后缀来区分文件类型,而是用文件属性中第一列的第一个字符来区分文件类型。


4.png


Linux下的文件类型主要有以下几种:


-:普通文件(文本、可执行、归档文件(压缩包)等)

d:目录

b:块设备(磁盘)

c:字符设备(键盘、显示器)

l:链接文件

s:网络socket文件

p:管道文件

目前最常见的是前两种,即普通文件以及目录,其余的后面遇到再细说。


文件后缀存在的意义

想用就用,方便人来看的

看作文件名的一部分

Linux虽不区分,但一些软件会区分,比如gcc/g++等


角色划分

Linux中对该用户所处的角色也进行了划分,主要分为以下三种:

文件拥有者:顾名思义即拥有该文件的人

文件所属组:文件所属的组群、一个组里可以有好多个用户

文件的Other:除了以上两种角色之外的所有人

分别对应文件属性中的以下位置:


5.png


注意:超级用户不受权限的约束,就比如这里的test.txt文件,所属组以及拥有者都是qidunyan,root对于该文件来说就属于Other,权限只有可读权限,但是root一样可以进行修改里面的内容!


6.png


文件角色权限的修改

我们可以使用chmod命令来修改文件的权限,但是只有文件的拥有者,以及root可以进行修改该文件。

chmod 用户符号 +/- 权限 目标文件

用户符号:

g:所属组

o:Other

u:拥有者

+:增加权限

-:减少权限

权限:

r:可读

w:可写

x:可执行


7.png


当然,我们除了用此方法外,还可以使用八进制数字进行权限修改,1表示有该权限,0表示无该权限。如下:


8.png


文件的拥有者以及所属组的更改

对于一个文件的拥有者以及所属组,我们也可以用chown以及chgrp进行更改。当然,作为普通用户,我们的权限是不足以对文件进行拥有者以及所属组的修改,所以我们需要进行切换为root,或者用sudo对指令进行提权。

chown 用户名 目标文件 :更改文件的拥有者

chgrp 用户名 目标文件:更改文件所属组

-R:进行递归式更改


9.png10.png11.png

file命令

file 目标文件:直接识别文件类型

-c: 详细显示指令执行过程,便于排错或分析程序执行的情形。

-z:尝试去解读压缩文件的内容

12.png


目录权限

我们可以很清晰的知道,一个普通文件的rwx,r代表可以查看该文件,w表示可以对该文件的内容进行修改,x表示该文件可以被执行,那么对于一个目录来说,rwx又意味着什么呢?

r(可读):可以查看该目录下的内容(即该目录下的所有文件以及文件属性)

w(可写):可以在该目录下创建新的文件或目录

x(可执行):可以进入该目录

-:无权限

(当然,这些权限限制的对象为普通用户,root无所畏惧)


13.png


文件的默认权限

在创建一个新的普通文件或目录时,创建出来的文件会自带默认权限。普通文件的默认权限为:664,目录文件的默认权限为:775。并且我们发现,Other的默认权限都不具有w,这主要是为了保护文件的安全性


默认权限是如何来的?


14.png


其实默认权限只是系统给我们看到的,不管是普通文件还是目录文件,其实都具有起始权限,也就是最开始的权限,普通文件的起始权限为:666,目录文件的起始权限为:777,而系统为了更好的控制文件权限,系统会自带默认的权限掩码,我们可以用umask进行查看,umask 0八进制数 进行修改默认的权限掩码。

默认权限=起始权限&(~umask)


15.png


粘滞位


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


16.png


换句话来说,当一个文件被所有人共享时,用户会收到权限的约束,但是拦不住用户进行删文件,所以,为了制裁这种不合理的现象,粘滞位就出来了。


chmod +t 目标目录:给目标目录增加粘滞位


-t:去除粘滞位


(粘滞位只能给目录添加,一般给共享目录添加,防止乱删文件)


17.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中,文件和目录的权限有何作用以及如何修改?