首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个用户tmpfs目录

每个用户tmpfs目录
EN

Unix & Linux用户
提问于 2015-03-25 12:18:21
回答 2查看 8.1K关注 0票数 7

当使用可预测的文件名时,已知使用共享/tmp目录会导致许多安全漏洞。随机生成的名字并不好看。

我在想,也许使用每个用户临时目录会更好。许多应用程序将使用TMPDIR环境变量来决定临时文件的去向。

在登录时,我可以简单地设置TMPDIR=/temp/$USER,然后/temp必须为每个用户包含一个目录,该目录可以写给该用户,而不是其他用户。

但在这种情况下,我仍然希望/temp是一个tmpfs挂载点,这意味着子目录在重新启动后将不存在,需要以某种方式重新创建。

对于如何创建带有每个用户子目录的tmpfs,有(事实上的)标准吗?或者,我需要自己的非标准工具来动态生成这样的目录吗?

EN

回答 2

Unix & Linux用户

发布于 2015-03-25 13:22:55

为此您可以使用帕姆-廷迪尔。它在PAM会话开始时为登录的每个用户创建一个目录。

有关更多内容,请参见如何在注销时重新装入文件系统? ..。

在Debian,Ubuntu和衍生工具中,它可以在libpam-tmpdir中使用。

票数 5
EN

Unix & Linux用户

发布于 2015-03-25 17:05:42

你可以把它放在/etc/fstab里。特定用户的一行可能如下所示:

代码语言:javascript
复制
tmpfs /home/username/tmp tmpfs size=[num]%,uid=[num],gid=[num],noauto,user,mode=0700

为您希望能够在主目录中挂载tmpfs的每个用户放置这样的行将使其成为可能。用户用户名只需执行mount ~/tmp就可以在当前系统内存容量为10%的情况下通过主目录~/tmp挂载tmpfs。该模式被设置为0700,因此只有用户(当然还有根用户)才能对该挂载的内容执行任何操作。而且挂载不是自动制作的-用户必须请求它。

您需要将所有这些替换为相关的值。例如,对于你自己,你可能会这样做:

代码语言:javascript
复制
tmpfs /home/kasperd/tmp tmpfs size=25%,uid=1000,gid=1000,noauto,user,mode=0700 0 1

...if您的用户和组id都是1000。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/192409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档