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

相关文章
|
18天前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
34 2
|
24天前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
45 11
|
15天前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
16天前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
16天前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
16天前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
23 0
|
2月前
|
存储 安全 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`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
67 2
|
2月前
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?
|
2月前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
39 1
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux专栏10:Linux权限详解(上)
Linux专栏10:Linux权限详解(上)
43 3