是否可以创建一个不允许linux中的命令rm的脚本?

时间:2017-02-08 04:01:32

标签: linux shell rm

是否可以创建一个不允许linux中命令rm的脚本?

3 个答案:

答案 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

禁用特定命令甚至通过sudo运行

答案 2 :(得分:0)

对于您可以这样做的特定用户

通过INI文件配置Lshell。默认情况下,它包含允许命令的白名单,但可以轻松配置以禁止用户使用特定命令。

此配置(默认conf /etc/lshell.conf)禁止用户foo使用mkdir:

 [foo]
 allowed = 'all' - ['mkdir', 'bash', 'sh', 'csh', 'dash', 'env']