是否可以删除特定用户对 /tmp 目录的访问权限,即用户甚至不能读取 /tmp 目录?
我知道tmp目录有1777权限,允许每个用户创建文件,但限制修改用户自己的文件。我无法找到任何方法来做到这一点。
用例:
一组用户应该能够做他们想做的任何事情,但另一组用户不应该能够检查其他组用户正在创建的内容。
一种解决方案是创建一个目录并设置权限以仅允许一组用户,但所有用户都需要编辑那里的脚本/程序才能使用此特定目录。
有没有类似通过 systemd 的 privatetmp 的方法,但是针对用户而不是服务?我的意思是在用户不知情的情况下为用户设置一个 tmp 目录,这可能吗?
答案1
更改 1777 访问权限tmp
将会破坏一切。如果您不允许访问/tmp
,您将遇到各种令人惊讶的失败。
有许多解决方案可能适合也可能不适合您的需求。
pam-tmpdir
,正如 Stephen Kitt 在他的评论中提到的(不知道那个)- 设置环境变量
TMPDIR
、TEMP
、TEMPDIR
和TMP
to~/.tmp
或类似的东西(如果您的程序/脚本使用此 POSIX 变量) - 更改脚本/程序/...以使用每个用户的子目录
- 使用虚拟环境,例如 VirtualBox
- 设置 chroot 环境。
它看起来很像一个 XY 问题;我能想到的唯一应用程序是课程环境,无论如何您都应该为每个用户/组创建一个(虚拟)环境。