Linux权限概念讲解

1. 用户类型

1.1 用户分类

在Linux里面用户分为两类,一种是超级用户(root),一种是普通用户。

超级用户只有一个,而普通用户可以有很多个。

如果我们在root用户状态下想要变成普通用户,我们可以使用命令,即

ssh [普通用户的名字]@[网址],然后输入密码就可以切换账号了。

这样子我们就可以切换账号了,如果我们想要从一个普通用户切换成另一个普通用户或者root账号,方法也是一样的。

1.2 root用户

root用户的权限是最大的,简单来说就是无论你给不给我权限,我都可以对文件做我想做的。

2. 文件访问权限

2.1 权限访问者类型分类

我们把把文件的访问者分为user,group和others。

他们的意思分别为文件的创建者(user),专门被划分出来的一类(group)和除了前面来着以外的所以(others)。

PS:我们并不可以直接说哪一类访问者的权限最大。他们之间也没有这种大小关系。

2.2 文件权限值的表示

r代表可读。w代表可写。x代表可执行。-代表无次权限。

又因为权限访问者有三类所以会重复三次,前三个是user的权限,中间三个是group的权限,后三个是others的权限。

通过以下的方式我们就可以对文件的权限值做出更改,即

chmod [权限访问者的首字母]+/-[文件权限值] [文件名]

2.3 文件类型

d :文件夹

  • :普通文件
    l :软链接(类似 Windows 的快捷方式)
    b :块设备文件(例如硬盘、光驱等)
    p :管道文件
    c :字符设备文件(例如屏幕等串口设备)
    s :套接口文件
    以上这些就是文件的一些类型。

这个位置显示的就是文件的类型,这个并不需要我们自己调整。

3. file

file可以辨识文件类型。

语法:file [选项] [文件名]

选项:

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

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

注意看最上面,他显示no read permission。这个的意思就是说无权限。一定会有人想,user和group都是我,那么为什么我关了user一后,就无权限了呢。这是因为Linux默认先读到的身份为最终身份。

4.粘滞位

我们接下来思考一个问题,如果说现在有两个用户叫做张三和李四,他们都拥有对这个目录的写权限,就是可以往里面写文件。如果说现在张三写了一个文件,然后没有给李四开放w权限,那么李四是可不可以凭藉他对目录的w权限,直接把张三的这个文件给删掉。

所以为了应对这个问题,在Linux里面有一个特别的东西叫粘滞位,

就是输入chmod -t [文件名]

我们看通过这样的方式就代表添加好了。
当一个目录被设置为 " 粘滞位 "( 用 chmod +t), 则该目录下的文件只能由

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

关于权限的总结

目录的可执行权限是表示你可否在目录下执行命令。
如果对目录没有x权限,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使对目录仍然有r权限也不行(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)。
而如果对目录具有x权限,但没有r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的r权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

相关推荐
九丝城主几秒前
2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--中篇
服务器·flutter·macos·vmware
码出钞能力26 分钟前
linux内核模块的查看
linux·运维·服务器
星辰云-1 小时前
# Linux Centos系统硬盘分区扩容
linux·运维·centos·磁盘扩容
Hellc0071 小时前
Nginx 高级 CC 与 DDoS 防御策略指南
运维·nginx·ddos
聽雨2371 小时前
02每日简报20250704
linux·科技·金融·生活·社交电子·娱乐·媒体
feilieren1 小时前
Docker 安装 Elasticsearch 9
运维·elasticsearch·docker·es
Maki Winster2 小时前
Peek-Ubuntu上Gif录制工具-24.04LTS可装
linux·ubuntu·peek
小皮侠2 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github
Maki Winster3 小时前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu
守望时空333 小时前
Linux下KDE桌面创建自定义右键菜单
linux