假设 Linuxroot
对某些信号设置了一个陷阱/etc/bash.bashrc
,比如:
trap 'rm -f ~/tmpfile' EXIT
root
不希望其他用户弄乱这个陷阱。因此,他希望将陷阱设置为“只读”,这样任何用户都无法更改它。这在 中可行吗bash
?
答案1
使用 bash 则无法实现这一点(不修改源代码)。用户的 shell 在该用户的帐户下的用户空间中运行,因此他可以完全控制该进程。即使您更改了 bash 的源代码,理论上用户仍可以上传另一个 bash 二进制文件(或覆盖现有 bash 的内存)并避免限制。
只有在系统调用和其他内核相关的进程中才能实施适当的安全/限制。