![检查要在特定路径创建的目录](https://linux22.com/image/159252/%E6%A3%80%E6%9F%A5%E8%A6%81%E5%9C%A8%E7%89%B9%E5%AE%9A%E8%B7%AF%E5%BE%84%E5%88%9B%E5%BB%BA%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我想添加一些检查,以便用户只能在与其用户 ID 相同的特定路径上创建目录。不允许有其他目录名称。
例如 :
path : /local/users/
User 1 : abc
User 2 : xyz
因此,在路径中,用户 1 只能创建名为“abc”的目录 ( /local/users/abc
)
用户 2 只能创建名为“xyz”的目录 ( /local/users/xyz
)
如何使这成为可能。
答案1
使用默认的 *nix 权限模型无法完全做到这一点。如果有人可以在 /some/path 中创建目录,他们就可以创建任何该路径中的目录。你可能能够在其之上使用权限框架,例如 SELinux 或 AppArmor,或者您可以创建一个 suid 二进制文件,它只执行使用调用者的用户名创建目录的一项工作。
更有趣的是为什么你会想要这个。一方面,您可以简单地预先为这些用户创建这些目录或作为用户设置的一部分,并在此时授予他们所有权。