是否可以创建一个不允许linux中命令rm的脚本?
答案 0 :(得分:1)
您可以创建自己的shell来模仿命令行,并将所有正常输入发送到实际的命令行,但rm命令除外。
如果有一个更优雅的解决方案,我不会感到惊讶。
答案 1 :(得分:1)
您可以在.bashrc
alias rm='rm -i'
除非您运行rm -f
如果你这样的别名:
alias rm='echo "command rm is forbidden"'
这将禁止rm命令
请注意,别名只会阻止您输入错误。如果您真的希望用户具有root权限来运行rm命令,那么系统安全性就不会紧固:
$which rm
-rwxr-xr-x 1 root root 64424 Jan 20 22:46 /bin/rm
$sudo chomd 744 /bin/rm
将强制用户成为root用户来运行rm
命令。
从技术上讲,您无法禁用 root 来删除系统上的文件,因为root可以执行任何操作,但是如果用户通过sudo
获得权限(这不是真实的)用户 root 但暂时获得权限)有一些方法可以通过sudo配置文件check this post
答案 2 :(得分:0)
对于您可以这样做的特定用户
通过INI文件配置Lshell。默认情况下,它包含允许命令的白名单,但可以轻松配置以禁止用户使用特定命令。
此配置(默认conf /etc/lshell.conf)禁止用户foo使用mkdir:
[foo]
allowed = 'all' - ['mkdir', 'bash', 'sh', 'csh', 'dash', 'env']