是否可以将 /tmp 限制为 0770 权限?

是否可以将 /tmp 限制为 0770 权限?

我想阻止同一 Linux 系统上的 2 个非 root 用户相互共享文件(通过使用 /tmp)。这可以实现吗?

如果我限制/tmp0770root:root作为所有者:组)并在启动过程早期TMPDIR通过(例如,通过脚本)定义用户特定,则 GConf2 开始出现问题。然后我得到的典型错误是:export TMPDIR=~/tmp; mkdir -p $TMPDIRrc[35].d

/usr/libexec/gconf-sanity-check-2 exited with status 256

在运行级别 3(非 GUI)下一切似乎都运行良好...但我过早地得出这个结论可能是错误的,问题也可能会在运行级别 3 的稍后阶段出现。

我迄今为止的经验TMPDIR似乎表明它要么已损坏,要么没有足够的文档,要么未被所有 Gnome 应用程序所接受。

答案1

这将是极其糟糕的想法。它违反了一套广泛传播(普遍存在)且长期存在(如“自古以来”)的假设,这些假设很可能根植于许多应用程序和实用程序中。

你最好创建 chroot 监狱或虚拟子系统,从而限制这些用户,而不是简单地将他们拒之门外。/tmp

TMPDIR只是一种惯例,而不是标准。UNIX/Linux 程序的作者和维护者可以自由决定是否遵守。

答案2

正如其他人指出的那样,这是一个坏主意。您可以使用 ACL 来获得类似的结果:

groupadd tmpdir-denied
setfacl -m g:tmpdir-denied:- /tmp    # the specific group has no access to /tmp
getfacl /tmp                         # see permissions

别误会我的意思。ACL会破坏事物如果不是现在,那么将来也会这样,但希望影响会比较有限。我至少会测试一下在这些更改之后我是否仍然可以 (1) 备份 (2) 恢复 (3) 修补系统。

答案3

我认为更改权限不是一个好主意/tmp。许多应用程序会创建临时文件,/tmp并且它们不一定在 root 权限下运行。因此,如果你这样做,你会破坏它们。

相关内容