Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在 Linux 中如何使用粘滞位 (t-bit)共享文件

在 Linux 中如何使用粘滞位 (t-bit)共享文件

作者头像
DevKevin
发布于 2024-12-30 00:25:18
发布于 2024-12-30 00:25:18
13900
代码可运行
举报
文章被收录于专栏:Base_CDNKevinBase_CDNKevin
运行总次数:0
代码可运行
在 Linux 系统中,共享文件是日常管理和协作中的常见任务,而粘滞位(Sticky Bit 或 t-bit)是实现共享目录安全性的重要工具之一。本文将带您详细了解如何在 Linux 中共享文件并配置粘滞位来保护共享资源的安全。

文件共享的常见场景

Linux 系统中,多用户环境下共享文件的需求可能包括:

  • 多个用户需要访问和修改同一个目录中的文件。
  • 保证目录中文件的协作性和安全性。
  • 防止非所有者的用户删除他人的文件。

为了解决这些问题,可以结合使用目录权限和粘滞位。


基础概念

Linux 文件权限

Linux 文件系统的权限分为三类:

  • 读 ®:允许查看文件内容或列出目录。
  • 写 (w):允许修改文件内容或在目录中创建、删除文件。
  • 执行 (x):允许执行文件或进入目录。

权限针对三种身份设置:

  • 文件所有者 (Owner)
  • 所属组 (Group)
  • 其他人 (Others)

粘滞位 (Sticky Bit)

粘滞位是 Linux 文件系统的一种特殊权限,通常用于共享目录。它的作用是:

  • 在目文录中设置粘滞位后,即使其他用户对目录有写权限,他们也只能删除或修改自己拥有的文件,而不能删除或修改其他用户的件。

设置共享目录并配置粘滞位

创建共享目录

使用 mkdir 命令创建一个共享目录,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mkdir /shared

设置目录权限

为共享目录分配读写执行权限,使所有用户可以访问和使用该目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo chmod 777 /shared

上述命令将权限设置为:

  • 所有者:读、写、执行
  • 所属组:读、写、执行
  • 其他人:读、写、执行

虽然所有用户现在都可以自由操作目录,但这种设置也带来了风险,因为任何人都可以删除他人的文件。

添加粘滞位

为了防止非所有者删除其他用户的文件,我们需要为目录添加粘滞位:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo chmod +t /shared

此时,如果使用 ls -ld /shared 查看目录的权限,可以看到如下结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
drwxrwxrwt 2 root root 4096 Dec 22 12:00 /shared

其中最后的 t 表示粘滞位已生效。


验证粘滞位的效果

创建测试用户

创建两个测试用户:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo useradd user1
sudo useradd user2

并为它们设置密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo passwd user1
sudo passwd user2

模拟文件操作

切换到 user1 用户,并在共享目录中创建一个文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su - user1
cd /shared
echo "Hello from user1" > file1.txt

切换到 user2 用户,尝试删除 user1 创建的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su - user2
cd /shared
rm file1.txt

此时会出现类似以下的错误信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm: cannot remove 'file1.txt': Operation not permitted

这证明粘滞位生效,user2 无法删除 user1 的文件。

但是,user2 依然可以创建自己的文件并删除它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "Hello from user2" > file2.txt
rm file2.txt

注意事项

  1. 权限设置
    • 确保共享目录的权限满足协作需求(如 777)。
    • 粘滞位并不会限制用户对自己文件的权限。
  2. 安全性
    • 虽然粘滞位可以防止文件被误删,但对于文件的读取或写入权限,依然需要通过合理的权限管理来控制。
  3. 应用场景
    • 粘滞位通常用于 /tmp 目录,该目录对所有用户开放,但通过粘滞位防止用户删除他人文件。

小结

通过结合目录权限和粘滞位,Linux 系统能够更好地管理共享文件的访问和保护。粘滞位是一种简单而有效的机制,适用于多用户协作的场景。如果您正在管理一个共享环境,不妨尝试使用粘滞位来提高资源的安全性。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Linux】用户权限
3. 对比windows GUI,我们操作windows也不是直接操作windows内核,而是通过图形接口,进行点击从而完成操作:比如进入D盘的操作,我们通常是双击D盘。 4. shell对于Linux系统来说,有相同的作用:用户输入的指令经由shell解析并传递给Linux内核执行,随后内核运行的结果再通过shell解析后反馈给用户。
风中的云彩
2025/04/24
820
【Linux】用户权限
LInux习题练习-04(yum源、用户和组、文件权限、find)
Modify: 2020-05-22 08:20:38.488730387 -0400
ruochen
2021/05/15
8430
LInux习题练习-04(yum源、用户和组、文件权限、find)
一文知晓Linux文件权限
Linux下有两种用户: (2)root超级用户:几乎可以在linux下进行任何想要做的事情,为所欲为,不受限制. (2)普通用户:在linux下进行受很多权限约束的事情.
初阶牛
2023/10/28
2640
一文知晓Linux文件权限
Linux的3种特殊权限场景实战:SUID、SGID、SBIT
在Linux系统中,有3种特殊权限,它们分别是Setuid(SUID)、Setgid(SGID) 和 Sticky Bit。
不背锅运维
2023/04/10
2.8K0
Linux的3种特殊权限场景实战:SUID、SGID、SBIT
Linux文件和目录的粘滞位(sticky bit)
今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除。诡异!
西湖醋鱼
2020/12/30
1.8K0
Linux指令大全(文件和目录操作、文件内容查看和编辑、系统信息和管理、网络和通信、压缩和解压缩、权限管理、包管理……)
Linux指令是一组用于在Linux操作系统中执行特定任务的命令。Linux操作系统具有丰富的命令行界面,用户可以使用这些指令来管理文件和目录、运行程序、配置系统设置等。本文将总结Linux文件和目录操作、文件内容查看和编辑、系统信息和管理、网络和通信、压缩和解压缩、权限管理、包管理等常见指令。
Qomolangma
2024/07/30
7110
Linux指令大全(文件和目录操作、文件内容查看和编辑、系统信息和管理、网络和通信、压缩和解压缩、权限管理、包管理……)
Linux权限和属组管理深入解析
Linux 是一种广泛使用的开源操作系统,它基于 Unix 的设计理念,强调安全性、稳定性和灵活性。在 Linux 中,文件系统的管理和访问控制是非常关键的概念,它们通过文件权限和属组管理得以实现。本文将详细介绍 Linux 中的权限和属组管理机制,以及相关的命令和实践技巧。
炒香菇的书呆子
2024/08/01
2170
文件特殊权限suid、sgid、stick_bit、软链接、硬链接
umask的数值0022中第一位代表的就是特殊权限,包括有suid、sgid、sticky_bit。
阿dai学长
2019/04/03
9450
入门!Linux 常见指令及权限管理全面指南
Linux 操作系统在现代计算机应用中扮演着重要的角色,广泛用于服务器、桌面系统、嵌入式设备及云计算平台等领域。理解和掌握 Linux 常见指令及权限管理机制,是每一位系统管理员和开发人员的基础技能。本文将详细介绍 Linux 系统的基本背景、常用指令、权限概念及其管理方法,并通过实际案例来更好地理解这些内容。
用户11289931
2024/10/22
1100
Linux权限解析
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。
啊QQQQQ
2024/11/19
630
Linux权限解析
【Linux】权限
( 注: 超级用户的命令提示符是 " # ",普通用户的命令提示符是 " $ ")
修修修也
2024/08/11
3780
【Linux】权限
Linux入门篇 —— 一文带你彻底搞懂Linux 文件权限管理
Linux下文件/目录的权限和归属 访问权限 读取(r): 允许查看文件内容,显示目录列表 写入(w): 允许修改文件内容,允许在目录中新建、删除、移动文件或者子目录 可执行(x): 允许运行程序,切换目录 无权限(-): 没有权限 权限介绍 rw-r--r-- . 1 root root 1258 Jun 3 2019 initial-setup-ks.cfgd rwxr-xr-x . 2 root root 6 Jun 3 2019 Music - 代表普通文件 d 代表目录 c
ruochen
2021/02/07
1.1K0
Linux入门篇 —— 一文带你彻底搞懂Linux 文件权限管理
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
在计算机系统中,权限是指用户或进程对系统资源(如文件、目录、设备、网络等)可以执行的操作的授权。权限的设计目的是为了保障系统的安全性,防止未经授权的访问或操作。
换一颗红豆
2025/02/02
760
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
云课五分钟-0ALinux文件系统及权限-查询命令如何使用
在Linux中,一切皆文件。文件系统是操作系统的重要组成部分,它负责管理和组织存储在磁盘上的文件和目录。Linux使用类Unix的文件系统结构,根目录为“/”。
zhangrelay
2023/11/19
1840
云课五分钟-0ALinux文件系统及权限-查询命令如何使用
linux安装samba服务器_开启samba服务
我们都知道windows上面有一个很方便的文件共享的功能,samba服务主要就是实现了linux平台上的文件共享功能,使得linux平台也能够和windows进行文件共享,但是使用linux搭建的文件共享服务器对于windows来说和平常windows和windows之间进行文件共享没有什么区别。
全栈程序员站长
2022/10/02
10K0
linux安装samba服务器_开启samba服务
权力与优雅:Linux 权限的隐秘诗篇
Linux 是一种开源的、基于 Unix 的操作系统,它因其灵活性、稳定性和高性能而广泛应用于服务器、嵌入式系统、超级计算机、桌面计算等领域。
HZzzzzLu
2024/12/26
1360
权力与优雅:Linux 权限的隐秘诗篇
Linux:权限相关知识详解
常用的基本指令已经讲解完毕啦:探索Linux世界:基本指令(文件查看、时间相关、grep、打包压缩及相关知识)
是Nero哦
2024/03/28
5320
Linux:权限相关知识详解
linux-文件权限与归属(包括 SUID、SIGD、SBIT)-隐藏属性-文件访问控制列表 ACL-(chown-chmod)在SIGD目录下
本文由刘遄老师的《Linux就该这么学》摘抄整理而成,写成博客方便自己后期查阅 该书非常棒,语言简练,通俗易懂,非常推荐,你可以点连接去学习~
suwanbin
2019/12/19
1K0
5 Linux 文件权限和访问控制列表
本文将探讨 Linux 中的文件权限和访问控制列表(ACL)。了解文件权限对于管理 Linux 系统中文件和目录的访问,确保安全性和数据完整性是至关重要的。
Lemon黄
2023/11/29
4470
5 Linux 文件权限和访问控制列表
深入解析Linux权限管理机制:安全与高效的基石
今日推荐 《教你自创工作流,赋予AI助理个性化推荐超能力》这篇文章介绍了使用Spring AI Alibaba进行开发演示,展示如何通过这个框架构建AI助理。通过演示可以看到当前的Java开发者不再需要转向Python,依然可以参与到AI Agent开发的潮流中,抓住这一全新的技术趋势!
Front_Yue
2024/12/05
1840
深入解析Linux权限管理机制:安全与高效的基石
推荐阅读
相关推荐
【Linux】用户权限
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验