【Linux学习】权限

在这里插入图片描述

🔥个人主页: Forcible Bug Maker
🔥专栏:Linux学习

🌈前言

本篇博客主要内容:Linux权限的概念以及权限管理。

Linux系统的权限是Linux安全模型的核心组成部分,它决定了系统上的用户、用户组以及进程可以对文件、目录和其他系统资源执行哪些操作。理解Linux的权限对于确保系统的安全性、稳定性和数据保护至关重要。

🔥Linux权限的概念

Linux下有两种用户:超级用户(root)和 普通用户。

  • 超级用户:可以在Linux系统下做任何事情,不受限制
  • 普通用户:在Linux下做有限的事情

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名]
功能:切换用户
例如,要从root切换到用户user,使用su user。要从用户user切换到root用户则使用su root,此时系统会提示输入root用户的密码。

快捷键:Ctrl+D,退出。

🔥Linux权限管理

01.文件访问者的分类

  • 文件和文件目录的所有者:u—User(拥有者)
  • 文件和文件目录的所有者所在的组的用户:g—Group(所属组)
  • 其他用户:o—Other(other)

02.文件类型和访问权限(文件属性)

我们通过ll指令展现出文件列表及其对应的属性。
在这里插入图片描述
在这里插入图片描述
开头的第1个字符表示文件的类型,而2~10的九个字符表示的就是三类不同访问者的权限。九个字符三三为一组,分成三组。

文件类型(第1个字符):
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

基本权限(第2~9个字符):
r:读权限。对文件而言,具有读取文件内容的权限;对目录来说,既有浏览该目录信息的权限。
w:写权限。对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限。
x:执行权限。对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
-:代表不具有该权限。

03.文件权限值得表示方法

字符表示法:
在这里插入图片描述
8进制数值表示法:
在这里插入图片描述

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

chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
说明:只有文件的拥有者和root用户才可以改变文件的权限

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

用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

文件访问权限增删:
chmod o+w file	->给file文件other增加写权限
chmod u+x file	->给file文件拥有者增加可执行权限
chmod g+r file	->给file文件所属组增加读权限
chmod u-w file	->给file文件拥有者去除w权限
chmod u+rw file	->给file文件拥有者增加w和r权限
chmod a+rwx file	->给file文件所有类型访问者增加所有权限
八进制权限修改:
chmod xxx(三个八进制数) file
改文件拥有者:
chown [name] testfile.txt

改文件所属组:
chgrp [name] testfile.txt

同时更改文件拥有者和所属组:
chown [name1]:[name2] testfile.txt

注 :普通用户无法改拥有者和所属组,只能通过root权限更改。

问:为什么新建目录默认权限是775,而新建普通文件是664?
这是因为计算机中存在权限掩码,最终权限=起始权限&(~权限掩码),而umask指令可以帮助查询到我们机器的权限掩码。
在这里插入图片描述

🔥目录的权限

  • 可执行权限(x):如果目录没有可执行权限,则无法cd到目录中。
  • 可读权限®:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容。
  • 可写权限(w):如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。

到这里会有一个问题,只要用户有一个目录的写权限,就可以随意删除目录中的文件,不论这个用户是否有文件的写权限。
没有文件的写权限却能删除该文件,这样明显是不合理的。

[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld
drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/
[root@localhost ~]# touch /home/root.c
[root@localhost ~]# ls -l /home/
总用量 4
-rw-r--r--. 1 root root 0 9月 19 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao
-rw-r--r--. 1 root root 0 9月 19 15:59 root.c
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的文件
rm:是否删除有写保护的普通空文件 "/home/root.c"? y

为了解决此问题,Linux引入了粘滞位的概念。

🔥粘滞位

[root@localhost ~]# chmod +t /home/ # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"? y
rm: 无法删除"/home/abc.c": 不允许的操作

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

  • 超级管理员(root)删除
  • 该目录的所有者删除
  • 该文件的所有者删除

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限,而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

🌈结语

本编博客主要讲解了,Linux权限的概念以及权限的管理方式。通过精细控制对文件和目录的访问,Linux权限机制有助于防止未授权的数据访问和操作,从而提高系统的安全性。熟练掌握权限的规则和使用,有助于维护系统的稳定性和可靠性。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forcible Bug Maker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值