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命令,但仍然没有权限读出目录下的文档。

相关推荐
db_murphy11 分钟前
Oracle数据块8KB、OS默认认块管理4KB,是否需调整大小为一致?
linux
liulilittle1 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
小阳睡不醒3 小时前
小白成长之路-部署Zabbix7(二)
android·运维
mCell3 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记3 小时前
GPU运维常见问题处理
linux·运维·gpu
caolib4 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
奇舞精选4 小时前
k8s基本概念初探
运维
誰能久伴不乏4 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔5 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula5 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发