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中权限的认识,具体还需要大家查询更多资料,拜~~~

相关推荐
say_fall4 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy4 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘4 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
无奈笑天下13 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla16 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
火云代理16 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
威嵌神州17 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__18 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo18 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
火云代理20 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式