我正在考虑构建一个脚本,它最终需要安装一些应用程序 - 将文件夹/文件复制到 Mac 和 Linux 中的某些位置。用户不应该能够删除这些文件夹/文件或我传递给用户的脚本。有什么办法可以达到这个目的吗?
对于 mac - sudo chflags schg/path/to/file
- 可以设置。
对于Linux - 我可以通过chmod +s/path/to/file
设置粘性位。
问题是,如果用户知道管理员密码(我的意思是root密码),那么他们可以更改权限,然后使用rm -rf
删除。
问题是我如何捕获它们?我如何确保,如果用户以 root 身份运行 rm -rf,它会被捕获,并且我的文件/文件夹不会被删除。
任何指向此的指示都会非常有帮助。
谢谢
编辑: 由于OP的澄清说明,这里的目的是控制以某种方式获得root密码的网络用户,而不是颠覆机器合法所有者的意愿。
最佳答案
您无法做您想做的事,也不应该做。
如果用户拥有 root 密码,则意味着您信任她使用计算机。如果您希望某人无法执行某些操作,请不要向他们提供 root 密码。
您提到的属性是防止文件意外删除的好方法,这也是您所期望实现的。
再次强调,如果您希望他们不删除文件,请不要授予他们 root 权限。
关于linux - 在脚本中捕获 rm -rf (mac/linux) - 通过密码保护 - 不让删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48616850/