Linux权限(下)

简介: Linux权限

但是不知道有老铁注意到没,好像有问题,上面虽然我不是拥有者,我把读和写的权限去掉了,但是我不仅是拥有者,我还是所属组啊,所属组有读和写的权限,为什么我不能读和写呢?


1669266968291.jpg


这里要说到Linux匹配权限的规则:从左到右先匹配拥有者,再匹配所属组的。


1669266977151.jpg


但是other有个例外,那就是root用户。


1669266987597.jpg


root账号非常重要!!!!!!!!!!!


🏆4、设置文件所属角色


除了文件属性权限的修改,我们还能修改拥有者和所属组。


👓①、chown

使用方式:chown 角色 文件名


比如我把test.txt 文件给了用户Zed。


1669267013368.jpg


但是给文件也要征得别的用户同一。这里我们用root权限,强制给。


强制给方式:root的话直接: chown 角色 文件名


                           普通用户: sudo chown 角色 文件名(先把自己加入可信任名单)

1669267022173.jpg

👓 ②、chgrp

chgrp 授予的所属组  文件名


1669267035563.jpg


这里其实chown可以满足同时改拥有者和所属组。但是不能单独改所属组


1669267044498.jpg


🏆5、改权限的数字方式


如果用二进制的方式改文件,是否可行呢?


1669267056088.jpg


我们将前一种通过指令改权限的方式称为 ugo + rwx方案。


而把数字方式称为八进制方案。rwx相应位置给1或0,再转化为八进制就能实现给或收权限!!


1669267069745.jpg


👓①Linux底层的权限设计

那这里还有一个问题,为什么我们创建的目录或普通文件,默认权限是我们所看到的样子呢?也就是为什么目录和普通文件创建出来就是


1669267087996.jpg


我们还需要了解Linux的相关规定:


Linux规定:


创建目录的起始权限是:777


创建普通文件的起始权限是:666


但我们创建的也不是777 和666啊?


还要介绍一个东西:权限掩码:umask 。Linux规定,凡是在umask中出现的权限都必须在起始权限中去掉!


umask默认是 0002.


1669267099815.jpg

1669267110118.jpg

那要是我不想他的起始权限是这样子,我想让他的起始权限修改,怎么操作?


我们可以修改umask。

1669267122480.jpg

那么还有一个问题:去掉umask是做减法吗?


1669267133555.jpg


👓 ②最终权限

最终权限=起始权限 & (~ umask)


&:按位与


~:按位取反


那么是不是这样子的,我们可以验证一下:


1669267142228.jpg

1669267149849.jpg

👓 ③进入目录的权限

最后一个问题,我们如果要进入一个目录,需要什么权限?是r(读)吗?是x(执行)吗?


1669267161928.jpg


这里也印证了为什么系统规定一个目录必须从777开始的。


👓④file指令

file指令用于辨识文件类型。


1669267170543.jpg


🏆六、粘滞位


👓①公共目录

Linux系统中有很多用户,有时我们为了工作交流的需要,可能需要消息共享和信息传递,所以我们需要在一个公共的目录下,进行临时文件的创建(增删查改)。


1669267182817.jpg


在根目录下,tmp目录就是一个公共目录,它可以放置很多用户的临时文件。如果我想创建一个公共目录可以吗?显然是可以的,这个文件应该是由root用户创建的,如果是非root用户,需要sudo提权创建。


1669267191469.jpg


我们看到在公共目录下,Zed用户的文件是禁止其他用户看到的。


1669267200456.jpg


那么,其他用户肯定不能查阅这个文件,那么我们可以删除这个文件吗?


1669267211509.jpg


我们看到Gyh用户不可以访问这个文件,但是竟然可以删除这个文件,一个没有访问权限的人有权删除一个文件。


看似不合理的删除,其实很合理,为什么呢?因为这是个公共目录,任何用户都可以对文件进行操作,所以这个删除是很合理的。因为删除文件的权限是目录的权限,和文件本身没有任何关系!!!


但是站在用户的角度,让我们很不舒服,我们想达到在公共目录中,大家可以各自进行rwx操作,但是禁止互删文件!!


所以就有了粘滞键。


👓②粘滞位

#粘滞位 对文件有保护作用。


当一个目录被设置为”粘滞位“(用chmod+t),该目录下的文件只能由


1、超级管理员(root)删除


2、该目录下的所有者删除


3、该文件的所有者删除。


粘滞位操作:chmod +t +公共目录


注意粘滞位是为了解决目录权限的问题,所以要给目录设置,而非文件。


1669267225241.jpg


最后奉上两幅图:

1669267233841.jpg

1669267244404.jpg

相关文章
|
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。
|
29天前
|
安全 Linux 数据安全/隐私保护
Linux安全大揭秘:一键切换root权限背后隐藏的秘密
【8月更文挑战第23天】Linux操作系统因其出色的灵活性和安全性备受推崇,用户权限管理是其核心功能之一。本文介绍如何安全地在用户间切换,特别是切换至拥有最高权限的root用户。我们探讨了两种主要的方法:`su` 和 `sudo` 命令,并通过示例展示了它们的应用场景。`su` 命令适合需要执行多个root权限操作的情况,而 `sudo` 更适用于临时执行单个高权限命令。同时,文章还提供了一些最佳实践,如避免长时间使用root账户、定期审查 `sudoers` 文件等,以确保系统的安全性。正确理解和应用这些工具和原则对于维护Linux系统的安全至关重要。
35 0
|
29天前
|
安全 Linux 数据安全/隐私保护
在Linux中,什么是最小权限原则?
在Linux中,什么是最小权限原则?
|
1月前
|
Linux Go
在Linux中,文件和目录的权限有何作用以及如何修改?
在Linux中,文件和目录的权限有何作用以及如何修改?