当前位置: 首页 > article >正文

【Linux】多用户协作

前言

前一个系列【Linux之权限】我们详细地了解了Linux中权限的问题,那么,我们理解了用户间的“隔离”,那么又该怎么进行多用户协作呢?
本文就来回答这个问题。

现象

在正式回答这个问题之前,我们先来看一下这个现象。

我们在用户whb的所属的一个目录里以root身份创造了一个文件root.txt,其拥有者和所属组都是root,然后我们通过sudo chmod a-rwx root.txt把所有人的所有权限去掉。

可以看到,所以现在我们的whb没法cat和echo这个root.txt,没有读写权限。但是我们居然可以把这个文件删除

这个问题的原因是什么?这正常吗?这其实是正常的。因为当前我们是在lesson5目录下:

whb是这个目录的拥有者,对该目录有写权限,而对目录有写权限就意味着可以在这个目录里创建和删除文件。因为一个文件能否被删除和文件自己无关!而是和所处的目录权限有关。

一个用户对文件所处的目录有写权限,那么就算这个文件没有给这个用户开放任何权限,这个用户却可以把这个文件删除。

不过除了root,一般情况下没有人可以进入“我家”,在“我家”新建文件。

多用户协作

但若两人想协作呢?想共同修改或者查看一个配置文件。

它俩账号之间隔离,进入不了彼此的目录。如果两个用户之间要进行文件级别的协作呢?那么这个文件就不能放在任何一个用户的私人账号里。

应该放在哪?

Linux里不只有home目录。

Linux的根目录下有一个和home平级的路径:tmp

ll / 我们可以看到根目录里:

bin或者user/bin里面一般放的就是系统的指令;

boot里面一般是与启动相关的操作系统或配置文件;

dev是启动时操作系统所识别到的各种设备,如键盘、显示器、网卡;

etc都是系统启动后的一些配置文件;

home我们已经知道了;

lib或者user/lib代表的一般是一些动静态库;

lib64指的是64位的库;

lost+found这个不管;

media是一些媒体设备(u盘);

mnt和opt不管;

proc是查看进程相关的信息;

root就是root账号;

var是日志信息;

……

我们将目光放到tmp路径,这里面放的是系统产生的各种临时文件。

根目录可以用d选项进行查看其权限:

ls -ld /

根目录的拥有者和所属组都是root,想在根目录下新建文件,也必须使用root权限。

我们现在在根目录下新建一个temp-backup目录,并把权限放开。

(共享文件夹一般都属于root)

(其实以后用tmp就可以)

但是,这个目录里面的文件现在,谁都能删除。

共享类目录下,别人为什么能删自己的文件呢?因为删一个文件和文件本身无关,而是和所处目录的写权限相关

但是other的w我们不能去掉,因为这样,其他人就不能在这个目录下创建文件,共享的作用就不复存在了。

这就形成了一个悖论。

所以 Linux中引入了一个新的权限标志位,粘滞位:t

可以看到,x的位置变成了t。

这种给目录添加的t,叫做粘滞位,任何一个人可以在共享目录下新建,但是不能让非拥有者删除。只给需要共享的目录添加粘滞位。

但这粘滞位,对root没办法,它还是可以删除里面的文件。

我们可以看回根目录下的tmp,已经有粘滞位了。所以用它就可以。

在这里插入图片描述
=_=
本文结束了,祝阅读愉快!


http://www.kler.cn/a/401343.html

相关文章:

  • 【Hadoop】【大数据技术基础】实践三 NoSQL数据库 大数据基础编程、实验和案例教程(第2版)
  • Nginx Spring boot指定域名跨域设置
  • 【网络云计算】2024第48周-技能大赛-初赛篇
  • C#编写的日志记录组件 - 开源研究系列文章
  • 【AI图像生成网站Golang】项目架构
  • 利用Python爬虫获取淘宝店铺详情
  • 深入解析TK技术下视频音频不同步的成因与解决方案
  • 计算机网络(12)介质访问控制
  • 高光谱遥感是什么?高光谱遥感数据如何处理?(基于Matlab和Python多案例解析)从小白到精通
  • 高可用服务器磁盘,如何做磁盘阵列raid5
  • docker容器之间的卷共享
  • Cenos7利用docker部署mysql报错-request canceled while waiting for connection
  • web——upload-labs——第九关——特殊字符::$DATA绕过
  • 关于网络安全攻防演化博弈的研究小议
  • 豆包MarsCode算法题:完美整数
  • Spring Boot图书馆管理系统:疫情下的解决方案
  • Preamble puncture 信号处理技术
  • 24.11.19 web框架
  • 百度世界2024:智能体引领AI应用新纪元
  • ALS 推荐算法案例演示(python)
  • Axure PR 9 穿梭框 设计交互
  • https(day30)
  • 疫情中的图书馆管理:Spring Boot系统设计
  • 乘最多水的容器python
  • CSS:高级寄巧
  • 算法--动态规划--环形数组的最大贡献值