从 /tmp 目录中删除用户访问权限

从 /tmp 目录中删除用户访问权限

是否可以删除特定用户对 /tmp 目录的访问权限,即用户甚至不能读取 /tmp 目录?

我知道tmp目录有1777权限,允许每个用户创建文件,但限制修改用户自己的文件。我无法找到任何方法来做到这一点。

用例:

一组用户应该能够做他们想做的任何事情,但另一组用户不应该能够检查其他组用户正在创建的内容。

一种解决方案是创建一个目录并设置权限以仅允许一组用户,但所有用户都需要编辑那里的脚本/程序才能使用此特定目录。

有没有类似通过 systemd 的 privatetmp 的方法,但是针对用户而不是服务?我的意思是在用户不知情的情况下为用户设置一个 tmp 目录,这可能吗?

答案1

更改 1777 访问权限tmp将会破坏一切。如果您不允许访问/tmp,您将遇到各种令人惊讶的失败。

有许多解决方案可能适合也可能不适合您的需求。

  • pam-tmpdir,正如 Stephen Kitt 在他的评论中提到的(不知道那个)
  • 设置环境变量TMPDIRTEMPTEMPDIRTMPto~/.tmp或类似的东西(如果您的程序/脚本使用此 POSIX 变量)
  • 更改脚本/程序/...以使用每个用户的子目录
  • 使用虚拟环境,例如 VirtualBox
  • 设置 chroot 环境。

它看起来很像一个 XY 问题;我能想到的唯一应用程序是课程环境,无论如何您都应该为每个用户/组创建一个(虚拟)环境。

相关内容