gpt4 book ai didi

linux - 全局可写文件的风险

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:34 24 4
gpt4 key购买 nike

我需要一些有关 Linux 权限的帮助。我知道拥有世界可写文件可能很危险,许多人建议不要拥有世界可写文件。

为了“保护”我的 Linux,我使用 find/-perm -0002 -type f 搜索了每个世界可写文件。感谢这个命令,我在我的 /root/a_directory/ 下找到了一个全局可写的文件。由于我的/root目录是700,其他用户无法编辑全局可写文件。

所以我的问题是,如果我在其他用户无法访问的目录下有全局可写文件,会有什么风险?

如果/directory1/world_writable_file.sh777并且/directory1/700,我安全吗?这种情况没有风险吗?

最佳答案

目录权限的行为与文件权限完全不同。

由于该目录不允许其他(非root和非组)用户对该目录进行任何操作(读/写/执行),他们甚至无法枚举该目录中的文件,因此他们肯定无法访问它们。

这是一个实际示例:

user@host$ sudo su
root@host$ mkdir testdir
root@host$ printf '#!/bin/bash\necho test" > testdir/testfile
root@host$ chmod 0777 testdir/testfile
root@host$ chmod 0700 testdir
root@host$ exit
user@host$ ./testdir/testfile
-bash: ./testdir/testfile: Permission denied
user@host$ ls testdir
ls: cannot open directory 'testdir': Permission denied

但是,这不是处理敏感文件的好习惯。文件权限配置很容易错误,因此您永远不应该依赖安全目录。

如果有人不小心将目录的权限更改为 0701(其他人可以执行),这看起来是一个相当微不足道的更改,但如果知道文件的确切路径,每个人都可以执行、读取和写入具有 0777 权限的任何文件。

此外,您所描述的场景只有在以下情况下才会发生:

A.文件已经存在后,目录的权限会发生更改。在这种情况下,您只需使用 chmod -R o-rwx 即可删除其他用户的权限。

B.目录所有者在配置目录后创建该文件,然后使用 chmod o+wx 或类似的方法添加权限。由于在具有 0700 权限掩码的目录中创建的新文件的默认掩码为 0644,并且唯一可以访问该目录的用户是所有者,因此没有其他方法。在这种情况下,请不要这样做。

<小时/>

无论如何,如果您有兴趣阅读和了解有关 Unix 系统中的 UID(一般而言)和 Linux 系统中的 UID(具体而言)的更多信息,I wrote a comprehensive guide on the subject .

关于linux - 全局可写文件的风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53848467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com