Linux粘滞位和文件,目录权限

目录

1.Linux权限的概念

2.文件权限

3.目录权限

4.粘滞位


下面正文开始-->>

1.Linux权限的概念

linux下有两种用户,超级用户(root)和普通用户

  • 超级用户:可以在Linux下做任何事情,相当于就是超管,哈哈
  • 普通用户:在Linux下有权限限制,只能做有限的事情
  • 超级用户的命令提示符是#,普通用户是$

用su [用户名]命令可以来切换用户

linux中文件访问者也是有分类的,下面我们先来看一下这个图

这个图中最开始的d表示这个是一个目录文件,后面我们会讲到。

然后这张图可以看出来,文件的访问者被分为了三类,分别是

  • 文件的所有者
  • 文件的所属组
  • other(其他用户)

2.文件权限

上面我们讲到了Linux中文件的访问者有三类,现在我们再把上面的图拿过来理解一下

这个rwx到底是什么呢?其实啊,文件一般有三个权限,就是分别对应这三个字母,分别是

  • r:表示读权限,对目录来说,有预览该目录内信息的权限
  • w:具有写权限,对目录来说,具有删除目录内文件的权限
  • x:具有执行权限,对目录来说,具有进入目录的权限
    • :-表示的是这个所对应的访问者没有此权限

比如上面图中的第一行,拥有者rwx全有,表示有全部权限,但是other只有rx,没有w,说明other不能修改我们文件内的内容

那么文件的权限是用什么来表示的呢?其实使用的是8进制,三个为一位

比如上面的rwxrwxr-x表示出来就是111111101这个样子,转化为三位数就是775,这里给大家科普一下,其实普通文件的起始权限是666,目录文件的起始权限是777,但是我们这里不是是因为有一个权限掩码的存在,叫umask,大家想了解的可以下去自己看看,几分钟就能理解。我们最终的权限就是一个公式 :最终权限 = 起始权限 &(~权限掩码)

文件的权限也是可以修改的,这里给大家三个指令,供大家自己实践

  • chomd:设置文件的访问权限,说明一点,只有文件的拥有者和超管才可以改权限哦
  • chown:修改文件的拥有者
  • chgrp:修改文件的所属组

这三个指令有很多用法,大家自己百度哦

3.目录权限

问大家一个问题,目录是文件吗?其实目录也是文件,那就有人要问了,那为什么要把目录的权限拿出来讲呢,不就和上面的文件一样吗?其实这里面大有文章,哈哈哈,现在告诉大家目录rwx三个权限不一样的地方.

  • 可执行权限x:如果目录没有可执行权限,是无法进入目录内部的
  • 可读权限r:如果目录没有可读权限,则无法查看目录文件中包含什么
  • 可写权限w:如果没有可写权限,则无法在目录中创建文件,也无法删除文件

大家可以自己测试,这里无法进入可以使用cd,无法读可以使用ls,无法写可以使用touch

4.粘滞位

上面这个目录文件有一个很奇怪的问题,不知道大家发现没有,就是只要用户有目录的写权限那么就可以删除这个目录中的文件,那么有一个问题,这个目录比如是张三的,然后李四再张三的目录下新建了文件,那么,张三有目录写权限,就可以把李四的文件删除,你觉得合适吗?哈哈,下面是这个印证过程

复制代码
[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/
-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

所以为了解决这个问题,不让我们李四受到伤害,引入了粘滞位这个概念

那么如何设置粘滞位呢?

使用命令 : chomd +t

加上一个t就可以把这个文件设置粘滞位,然后我们的张三就不可以随便删除李四的文件了

这里要告诉大家,当一个目录被设置为粘滞位的时候,则该目录下的文件只能由

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

ok,这就是一个简单的对Linux中权限的认识,具体还需要大家查询更多资料,拜~~~

相关推荐
Sheffield5 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield13 小时前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
舒一笑1 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
Johny_Zhao1 天前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
haibindev1 天前
在 Windows+WSL2 上部署 OpenClaw AI员工的实践与踩坑
linux·wsl2·openclaw
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主2 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作