系统权限与 chmod 命令:如何设置 su 文件的适当权限?
背景介绍
在 Linux 或类 Unix 操作系统中,chmod
命令用于改变文件或目录的访问权限。每个文件都有三个不同的访问级别:用户、组和其他用户。我们可以通过调整这些级别的权限来控制谁可以读取(r)、写入(w)或执行(x)该文件。
在本文档中,我们将讨论如何使用 chmod
命令设置特定文件,比如 su
文件的适当权限,以确保只有具有特定权限的用户才能访问它。具体来说,我们要为 root
用户设定 suid
位、读取和写入权限;同时允许其他用户仅执行该文件。
解决方案
我们的目标是设置如下权限:
-rwsr-x--- 1 root root 3096 Jan 21 22:57 su
根据 chmod
的数字表示法,我们可以通过以下步骤实现目标结果:
- 计算所需的模式:
- 用户(user)设置为可读 (4) 和可写入 (2),即
6
。 - 群组(group)设置为可读位 (4)。
- 其他用户(others)仅允许执行权限 (1)。
使用十进制计算:
– 用户:u+w = 2 + 4 = 6
– 组:g+x = 1
– 其他用户:o-x = 0 + 1 = 1
因此,综合起来,模式为 611
。
chmod 611 su
或者使用八进制表示法:
chmod 774 su
笔记与提示
-
如果你觉得手动计算方式有些复杂,也可以利用符号(模式)来设置文件权限。比如:
bash
chmod u+rws g+rs o+rx su
这将直接增加给定用户、组和其它用户的适当权限。 -
在上述命令中使用
u+rwxs
确保设置了正确的suid
权限: u+w
表示给用户增加写入权限。u+s
表示设置suid
标志。
总之,通过这些步骤和说明,你应该能够调整你的文件以满足所需的权限设置。请注意,对 /bin/su
这样的关键系统文件进行改动时,请务必小心谨慎!
正文完