博客
关于我
20160929老男孩运维视频L3-006
阅读量:798 次
发布时间:2023-03-24

本文共 1116 字,大约阅读时间需要 3 分钟。

setuid 和 setgid:权限管理的核心原则

setuid 和 setgid 介绍

setuid 和 setgid 是 Linux 系统中的两个关键权限设置,用于赋予普通用户执行管理员任务的权限。了解这些权限对日常操作有着重要的实用价值。

文件和目录权限设置

在 Linux 系统中,文件和目录的权限分为三个部分:owner(属主)、group(组)、others(其他用户)。权限的表示方式为 rwx,分别表示读取(read)、写入(write)、执行(execute)。

目录权限的特殊性

对于目录而言,权限的意义有所不同:

  • r:允许查看目录内容。
  • w:允许删除和移动目录内的文件。
  • x:允许进入目录。

文件和目录的删除权限

文件和目录的删除权限不是基于文件本身的设置,而是基于其上级目录的权限。只有拥有上级目录的删除权限,才能删除该文件或目录。

举例说明

假设你在 /home/user 目录下创建了一个文件 file.txt,并赋予自己读取和写入权限:

chmod  rw file.txt

如果你试图删除该文件:

rm file.txt

如果没有权限,会显示:

rm:无法删除 'file.txt':没有权限

这时候,请确保你拥有 /home/user 目录的删除权限。

tmp 目录的安全设置

在实战中,tmp 目录的安全设置至关重要。默认情况下,普通用户无法删除 tmp 文件,因为它们属于 root 用户。

通过 chmod 设置 tmp 目录权限

chmod o+t mytmpdir

或者:

chmod 1755 mytmpdir

这样设置后,只有 root 用户和拥有该目录的用户才能删除文件。

创建新目录

创建新的目录时,可以使用 -p 选项来自动创建父目录:

mkdir -p mydirectory

目录归属组设置

要将目录归属给特定用户或组,可以使用 chown 命令:

chown -R owner:group /path/to/directory

例如:

chown -R oldboy:oldboy /oldboy/

关于权限的重点

在 Linux 系统中,权限管理的核心是目录的权限设置。只有拥有目录的读取权限,才能看到其内容,但没有进入权限的话,仍然无法执行其他操作。

权限的实际应用场景

在实际工作中,权限的设置需要结合具体需求。例如:

  • 如果只是需要查看文件,可以设置为只读权限。
  • 如果需要对文件进行编辑或删除,可以设置为写入和执行权限。

总结

setuid 和 setgid 等权限设置虽然简单,但在实际应用中至关重要。理解这些权限的原理和应用,对于日常系统管理工作有着重要的帮助。

转载地址:http://jwhfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现分块查找算法(附完整源码)
查看>>
Objective-C实现分水岭算法(附完整源码)
查看>>
Objective-C实现分解质因数(附完整源码)
查看>>
Objective-C实现切换数字的符号switchSign算法(附完整源码)
查看>>
Objective-C实现列主元高斯消去法(附完整源码)
查看>>
Objective-C实现创建多级目录(附完整源码)
查看>>
Objective-C实现删除重复的字母字符算法(附完整源码)
查看>>
Objective-C实现判断32位的数字是否为正数isPositive算法(附完整源码)
查看>>
Objective-C实现十进制转N进制算法(附完整源码)
查看>>
Objective-C实现十进制转八进制算法(附完整源码)
查看>>
Objective-C实现华氏温度转摄氏温度(附完整源码)
查看>>
Objective-C实现单例模式(附完整源码)
查看>>
Objective-C实现单向链表的反转(附完整源码)
查看>>
Objective-C实现单向链表的反转(附完整源码)
查看>>
Objective-C实现单字母密码算法(附完整源码)
查看>>
Objective-C实现单循环链表算法(附完整源码)
查看>>
Objective-C实现单词计数(附完整源码)
查看>>
Objective-C实现单链表反转(附完整源码)
查看>>
Objective-C实现博福特密码算法(附完整源码)
查看>>
Objective-C实现卡尔曼滤波(附完整源码)
查看>>