linux - 在脚本中捕获 rm -rf (mac/linux) - 通过密码保护 - 不让删除文件

标签 linux macos delete-file rm undelete

我正在考虑构建一个脚本,它最终需要安装一些应用程序 - 将文件夹/文件复制到 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/

相关文章:

Linux 不同的发行版命令

linux - 如何在 bash cli 中将多个命令组合成单个命令?

Git 冲突 "both deleted"

linux - Raspberry Pi 上的 ElasticSearch 退出

linux - Unix 文件中的换行符

objective-c - 如何在 NSAnimationContext 结束时触发回调?

python - 在 OSx 应用程序中定义“关于”框的位置

ios - Xcode 日志记录 : "Metal API Validation Enabled"

file - NetBeans 7.0 使用 'Download' 命令从服务器随机删除文件

git - 忽略(不提交)Git 跟踪的本地删除文件