0

0

Linux特殊权限是什么 setuid/setgid/sticky bit解析

P粉602998670

P粉602998670

发布时间:2025-08-14 11:03:02

|

458人浏览过

|

来源于php中文网

原创

setuid 权限允许程序以文件拥有者身份运行,如 passwd 命令可让普通用户修改 /etc/shadow 文件,设置方式为 4xxx 或 chmod u+s;setgid 对文件以所属组身份运行,对目录使新文件继承组属性,便于团队协作,设置方式为 2xxx 或 chmod g+s;sticky bit 用于目录,防止他人删除自己文件,常用于 /tmp,设置方式为 1xxx 或 chmod +t。

Linux特殊权限是什么 setuid/setgid/sticky bit解析

在Linux系统中,除了常见的读(r)、写(w)、执行(x)权限之外,还有三种特殊权限:setuid、setgid 和 sticky bit。它们可以用于特定场景下增强安全性或实现某些功能控制。

Linux特殊权限是什么 setuid/setgid/sticky bit解析

什么是 setuid 权限?

setuid(Set User ID)可以让一个可执行文件在运行时临时以文件拥有者的身份来执行,而不是执行者自己的身份。

Linux特殊权限是什么 setuid/setgid/sticky bit解析

举个例子,普通用户执行

passwd
命令修改密码时,其实是在修改
/etc/shadow
文件,而这个文件只有 root 才有写权限。为什么普通用户能改密码?因为
passwd
程序设置了 setuid 权限,让它以 root 身份运行。

设置方式:

Linux特殊权限是什么 setuid/setgid/sticky bit解析
  • 数字表示法:4xxx(比如 4755)
  • 符号表示法:
    chmod u+s filename
⚠️ 注意:滥用 setuid 权限可能会带来安全风险。例如,如果某个 shell 脚本被设置了 setuid root,就可能被攻击者利用提权。

setgid 权限有什么用?

setgid(Set Group ID)有两个主要用途:

  1. 对文件:类似于 setuid,但它是以文件所属组的身份运行程序。
  2. 对目录:新创建的文件会继承该目录的所属组,而不是创建者的主组。

比如在一个团队协作目录中,多个用户属于同一个组,设置 setgid 后,无论谁在里面新建文件,文件的组都会自动设为目录的组,方便权限统一管理。

设置方式:

  • 数字表示法:2xxx(比如 2755)
  • 符号表示法:
    chmod g+s filename_or_directory

这个特性常用于共享工作目录,确保所有成员创建的文件都归属于同一组,避免权限混乱。

Woy AI
Woy AI

通过 Woy.ai AI 导航站发现 2024 年顶尖的 AI 工具!

下载

sticky bit 是什么?为什么有用?

sticky bit 最初用于“粘滞”进程,防止内存交换,在现代 Linux 中它只对目录起作用。一旦设置了 sticky bit 的目录,每个用户只能删除或重命名自己拥有的文件,即使目录是全局可写的。

典型应用就是

/tmp
目录。所有人都可以在里面创建临时文件,但不能随意删除别人的文件。

设置方式:

  • 数字表示法:1xxx(比如 1777)
  • 符号表示法:
    chmod +t directory

比如:

chmod 1777 /shared_dir

这样所有人都能在

/shared_dir
下写文件,但只能操作自己的内容。


如何查看和设置这些特殊权限?

查看权限时,特殊权限位会显示在常规权限前面:

  • -rwsr-xr-x
    表示设置了 setuid
  • -rwxr-sr-x
    表示设置了 setgid
  • -rwxr-xr-t
    表示设置了 sticky bit

使用

ls -l
即可看到这些标志。

设置命令示例:

  • chmod 4755 program
    设置 setuid
  • chmod 2770 shared_dir
    设置 setgid 并限制写入
  • chmod 1777 /tmp
    设置 sticky bit

基本上就这些。理解这三种特殊权限的用途和设置方法,可以帮助你更好地管理 Linux 系统中的权限与安全问题。虽然不复杂,但在实际运维中很容易忽略它们的作用。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1542

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

716

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

799

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

586

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

570

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

312

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

399

2023.07.25

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 9.3万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 7.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号