惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

牧尘的NAS小站

大模型到底在干嘛 Claude 内部提示词手册公开(精选10条) AI现阶段常见新词汇出现背景(二) AI现阶段常见新词汇出现背景(一) Windows 下 OpenCV 编译与 GoCV 安装实战 CookLikeHOC:用老乡鸡的方式烹饪美味,轻松上手的JavaScript项目! SQLBot:问数新纪元的智能助手 🚀 什么是NAT?NAS远程访问绕不开的网络魔法 向量数据库介绍 MySQL慢SQL处理 NAS使用SnappyMail搭建个人WebMail 使用VirtualBox虚拟机安装群晖7.1系统 网络文件夹目前是以其他用户名和密码进行映射的 Nastool中IYUU插件修复 linux文件的隐藏属性 个人下载记录 个人Docker镜像记录 Hexo配合Jenkins自动部署博客 Hexo博客放到OSS并自动更新 使用Hexo搭建个人博客 NAS使用timymediamanager刮削海报 群晖DSM降级指南 ls、cp、rm、mv命令详解
linux文件的特殊权限
2024-03-05 · via 牧尘的NAS小站

发表于|更新于|Linux基础

|字数总计:1.3k|阅读时长:4分钟|阅读量:

在此贴出Linux文件的特殊权限的相关资料

Set UID

当 s 这个标志出现在文件拥有者的 x 权限上时,例如刚刚提到的 /usr/bin/passwd 这个文件的权限状态:“-rwsr-xr-x”,此时就被称为 Set UID,简称为 SUID 的特殊权限。 那么SUID的权限对于一个文件的特殊功能是什么呢?基本上SUID有这样的限制与功能:

  • SUID 权限仅对二进制程序(binary program)有效;
  • 执行者对于该程序需要具有 x 的可执行权限;
  • 本权限仅在执行该程序的过程中有效 (run-time);
  • 执行者将具有该程序拥有者 (owner) 的权限。

举个例子,我们的 Linux 系统中,所有帐号的密码都记录在 /etc/shadow 这个文件里面,这个文件的权限为:“———- 1 root root”,意思是这个文件仅有root可读且仅有root可以强制写入而已。
但是我们的普通用户在修改密码是也需要对这个文件进行写入,那么具体是如何做到的呢?

1
我们给passwd明明添加SUID权限,并且给普通用户执行权限,那么普通用户在执行这条指令时,就拥有了命令所有者(也就是root)的权限,那么自然而然就可以修改/usr/bin/passwd这个文件了。

Set GID

当 s 标志在文件拥有者的 x 项目为 SUID,那 s 在群组的 x 时则称为 Set GID

与 SUID 不同的是,SGID 可以针对文件或目录来设置!如果是对文件来说, SGID 有如下的功能:

  • SGID 对二进制程序有用;
  • 程序执行者对于该程序来说,需具备 x 的权限;
  • 执行者在执行的过程中将会获得该程序群组的支持!

举例来说.

1
2
[root@study ~]
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate

上面的 /usr/bin/locate 这个程序可以去搜寻 /var/lib/mlocate/mlocate.db 这个文件的内容, 但是mlocate.db 的权限如下:

1
2
3
[root@study ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
-rw-r-----. 1 root slocate 2349055 Jun 15 03:44 /var/lib/mlocate/mlocate.db

与 SUID 非常的类似,若我使用普通帐号去执行locate时,那账号会取得slocate群组的支持, 因此就能够去读取mlocate.db

除了可执行程序外,SGID也能用在目录上,这也是非常常见的一种用途! 当一个目录设置了SGID权限后,他将具有如下的功能:

  • 使用者若对于此目录具有 r 与 x 的权限时,该使用者能够进入此目录;
  • 使用者在此目录下的有效群组(effective group)将会变成该目录的群组;
  • 用途:若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同。

Sticky Bit

Sticky Bit,也就是SBIT目前只针对目录有效,对于文件已经没有效果了。SBIT 对于目录的作用是:

  • 当使用者对于此目录具有 w, x 权限,亦即具有写入的权限时;
  • 当使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件

换句话说:当甲这个使用者于 A 目录是具有群组或其他人的身份,并且拥有该目录 w 的权限, 这表示“甲使用者对该目录内任何人创建的目录或文件均可进行 “删除/更名/搬移” 等动作。” 不过,如果将 A 目录加上了 SBIT 的权限项目时, 则甲只能够针对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人的文件。

举例来说,我们的 /tmp 本身的权限是“drwxrwxrwt”, 在这样的权限内容下,任何人都可以在 /tmp 内新增、修改文件,但仅有该文件/目录创建者与 root 能够删除自己的目录或文件。这个特性也是挺重要的啊!你可以这样做个简单的测试:

1
2
3
4
以 root 登陆系统,并且进入 /tmp 当中;
touch test,并且更改 test 权限成为 777 ;
以一般使用者登陆,并进入 /tmp;
尝试删除 test 这个文件!

UID/SGID/SBIT 权限设置

首先记住下面四个数字。

1
2
3
4 为 SUID
2 为 SGID
1 为 SBIT

假设要将一个文件权限改为“-rwsr-xr-x”时,由于 s 在使用者权限中,所以是 SUID ,因此, 在原先的 755 之前还要加上 4 ,也就是:“ chmod 4755 filename ”来设置!

注意: SUID不是用在目录上,SBIT不是用在文件上的

除了数字法之外,我们也可以通过符号法来处理!其中 SUID 为 u+s ,而 SGID 为 g+s ,SBIT 则是 o+t。