linux – 文件系统所有权的安全隐患

linux – 文件系统所有权的安全隐患,第1张

概述赋予文件系统的非root用户所有权是否具有任何安全隐患? 例如,目录/var/lib/pgsql/9.0/data及其内容需要由postgres用户拥有.如果我想将其内容放在自己的文件系统上,那么这是一个好习惯 >将该文件系统直接挂载在/var/lib/pgsql/9.0/data上 要么 >创建root拥有的目录(例如/ mnt / pgsql_data),在那里挂载文件系统,在该文件系统上创建 赋予文件系统的非root用户所有权是否具有任何安全隐患?

例如,目录/var/lib/pgsql/9.0/data及其内容需要由postgres用户拥有.如果我想将其内容放在自己的文件系统上,那么这是一个好习惯

>将该文件系统直接挂载在/var/lib/pgsql/9.0/data上

要么

>创建root拥有的目录(例如/ mnt / pgsql_data),在那里挂载文件系统,在该文件系统上创建postgres所拥有的目录(例如/ mnt / pgsql_data / data),然后创建/ var / lib / pgsql /9.0/data到该目录的符号链接

我可以看到前者唯一潜在的安全问题是它为postgres用户提供了改变丢失的找到目录的能力(如果它是ext2,ext3或ext4文件系统),但我不认为这有严重的影响.

让我提出这个问题的动机是,如果文件系统挂载在数据目录中,则不支持创建postgres数据库.见this pgsql-hackers discussion.我之前没有考虑过那篇文章的第一点.

解决方法 取决于文件系统.据我所知,ext3例如不会识别mountpoint所有者的uID,而只识别已安装分区root的uID.

无论如何,想象一下你正在使用一些尊重所有权并遵循我的蹩脚文件系统……

根据文件系统层次结构和内容,可能会产生严重的安全隐患.

让我举例说明(对艺术自由程度道歉,但我不会考虑可能的文件锁定问题…… 8D)

#mkdir /opt/postgres#mount /dev/sdf1 /opt/postgres#chown postgres:portgres /opt/postgres#ls - /opt/postgres/8.3/drwxr-xr-x 4 postgres postgres  1024 2011-08-11 23:14 .drwxr-xr-x 7 root  root    48 2011-08-11 23:11 ..drwxr-xr-x 2 root  root  1024 2011-08-11 23:14 bindrwxr-xr-x 2 root  root  1024 2011-08-11 23:14 libdrwxr-xr-x 2 root  root  1024 2011-08-11 23:14 docdrwxr-xr-x 2 root  root  1024 2011-08-11 23:14 contribdrwx------ 2 root  root 12288 2011-08-11 23:13 lost+found

现在假设有人有postgres访问权限并希望后门/opt/postgres/8.3/bin/createdb

$cd /opt/postgres$cp -R 8.3 .Hackme$cd .Hackme/bin$echo 'rm -rf /' > createdb$cd ..$mv 8.3 .old; mv .Hackme 8.3

这种特权升级攻击有点过时……过去,变体曾经相当普遍.我必须添加这种错误的方法是标准建议使用户拥有的配置文件(例如httpd.conf)而不是进程使用的配置文件的主要原因之一.

希望能帮助到你

总结

以上是内存溢出为你收集整理的linux – 文件系统所有权的安全隐患全部内容,希望文章能够帮你解决linux – 文件系统所有权的安全隐患所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1036891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存