Linux 如何设置特殊权限?

news/2024/12/15 1:17:57/

简介

通过使用 setuidsetgidsticky,它们是 Linux 中的特殊权限,可以对文件和目录的访问和执行方式提供额外的控制。

命令八进制数字功能
setuid4当执行文件时,它以文件所有者的权限运行,而不是执行它的用户的权限运行。
setgid2当执行文件时,它将以文件组的权限运行。对于目录,它将确保文件继承目录的组。
sticky1对于目录,它确保只有文件所有者可以删除或重命名文件,即使其他人具有写权限。

setuid(Set User ID)

通常用于需要提升权限的可执行二进制文件

setuid 添加到文件中
chmod u+s <filename>
验证 setuid
ls -l filename# 示例输出如下:
-rwsr-xr-x 1 root root 12345 Nov 29 12:00 filename所有者的执行位置 (rws) 中的s表示 setuid
移除 setuid
chmod u-s <filename>

setgid(Set Group ID)

使用在文件上时,确保文件以文件的组权限运行,而不是用户的主要组权限运行

使用在目录上时,确保目录内创建的所有文件都继承目录的组所有权,而不是用户的主要组

setgid 添加到文件或目录中
chmod g+s <filename>/<directory>
验证 setgid
ls -ld <filename>/<directory># 示例输出如下:
drwxr-sr-x 2 user group 4096 Nov 29 12:00 directory_name组执行位置(r-s)中的s表示 setgid
移除 setgid
chmod g-s <filename>/<directory>

sticky

通常用于目录以防止用户删除或重命名不属于他们自己的文件,即使该目录对他们具有写权限,适用于 /tmp 等共享目录

添加 sticky
chmod +t <directory_name>
验证 sticky
ls -ld <directory_name># 示例输出如下:
drwxrwxrwt 2 user group 4096 Nov 29 12:00 directory_name
其他人的执行位置(rwt)中的t表示 sticky(粘滞位)
移除 sticky
chmod -t <directory_name>
使用八进制数字的形式设置
chmod 6755 <filename># 第一个6 = setuid + setgid (4 + 2)
# 第二个7 = 所有者的权限 rwx
# 后面两个5 = 组和其他人的权限 r-x

http://www.ppmy.cn/news/1555163.html

相关文章

mac下flutter开发环境的配置

mac下flutter开发环境的配置 通过flutter中文网下载flutter安装包 flutter中文网 这里着重记录环境变量的配置 mac下我默认使用的是zsh&#xff0c;根据文档提示&#xff0c;在电脑中并未找到zshenv这个文件&#xff0c;而且手动创建后&#xff0c;也并未生效。最后的解决方案…

JavaScript 中的 Map方法

JavaScript 中的 Map方法 在 JavaScript 中&#xff0c;Map 是一种用于存储键值对的数据结构&#xff0c;相较于传统的对象&#xff08;Object&#xff09;&#xff0c;Map 提供了更高效的键值对操作方式适合处理需要频繁操作键值对的场景。 1. 创建 Map const map new Map…

深拷贝详解:特点、实现方法、循环引用处理及性能评估

文章目录 深拷贝的特点实现深拷贝的方法1. 使用 JSON 方法2. 使用 lodash 库3. 手动实现4. 结构化克隆算法 深拷贝与循环引用性能评估解决对象引用问题的其他方法手动实现深拷贝处理循环引用 深拷贝的特点 深拷贝创建了一个全新的对象&#xff0c;并递归复制原对象内部的所有属…

【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石

我的个人主页 我的专栏&#xff1a;Java-数据结构&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;点赞❤ 收藏❤ 一、引言 1. 栈与队列在编程中的角色定位 栈和队列作为两种基本的数据结构&#xff0c;在众多编程场景中都有着独特的地位。它们为数据的有序…

安全见闻4

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&…

STM32 | ESP8266 服务器与客户端

先看懂模块的原理图 关于四个引脚&#xff08;GPIO2,、GPIO0、CH_PO和CPIO16&#xff08;RST&#xff09;&#xff09;的定义如下&#xff1a;&#xff08;是我自己收集的信息&#xff0c;肯定有不完整的部分。希望大家指正&#xff09; GPIO0&#xff1a;当为高电平时代表从…

item2 for macos

安装Item2 brew install iterm2 查看终端类型 cat /etc/shells Mac OS X 10.15 已经将默认的shell从Bash换成了zsh&#xff0c;所以不用安装&#xff0c;10.15以前的可以使用下面的命令进行安装 brew install zsh 安装Oh My ZSH # curl sh -c "$(curl -fsSL https://ra…

MySQL数据库——内置函数

1.日期函数 函数名称 描述 current_date() 当前日期 current_time() 当前时间 current_timestamp() 当前时间戳 date(datetime) 返回datetime参数的日期部分 date_add(date,interval d_value_type) 在date中添加日期或时间 interval后的数值单位可以是&#xff1a;y…