输入密码登录时启动 bash 脚本?

输入密码登录时启动 bash 脚本?

我希望能够sudo rm -rf /在输入密码时运行类似这样的程序。以防万一我需要在登录前一次性清除所有内容。

我知道存在安全问题,所以在理想的情况下,我希望能够在 .bashrc 中进行设置,这样我就可以输入一些不太明显的内容。

有人知道怎样做吗?

答案1

我建议采用略有不同的方法。创建一个新用户,我们称其为“harakiri”,然后进行设置,这样当您以 身份登录时harakiri,就会执行一条命令,删除硬盘上的所有内容。

  1. 创建新用户

    sudo adduser harakiri
    
  2. 创建一个harakiri删除驱动器上所有内容的脚本:

    echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri
    sudo chmod a+x /usr/bin/harakiri
    

    我们现在有这个harakiri命令,当以 root 身份运行时,它将删除你的/.

  3. 添加一行来.profile让它们运行harakiri脚本。

    echo "sudo harakiri" | sudo tee ~harakiri/.profile
    
  4. 将他们添加到sudoers群组

    sudo usermod -aG sudo harakiri 
    
  5. 允许用户无密码harakiri运行。运行并添加以下行:sudo harakirisudo visudo

    harakiri  ALL=NOPASSWD:/usr/bin/harakiri
    

退出并保存文件,就这么简单。现在,您可以以harakiri普通用户身份登录,这将删除驱动器上的所有内容。


注意事项

  1. 这非常危险,可能会删除硬盘上的所有内容。请先尝试使用破坏性较小的命令,以确保一切正常。

  2. 即使你删除了所有内容,专家也相对容易恢复你的文件。你可能需要研究以下实用程序撕碎

答案2

如果你真的需要为了在您以普通用户身份登录时发生这种情况,您还可以创建一个运行该rm命令的虚假 X 会话。

  1. 创建.desktop文件。运行sudo nano /usr/share/xsessions/harakiri.desktop并添加以下行:

    [Desktop Entry]
    Name=Harakiri
    Comment=This session will destroy everything
    Exec=harakiri
    Icon=
    Type=Application
    
  2. rm命令需要以 root 身份启动才能删除文件/,但会话是以您的用户身份启动的。因此,我们需要一个额外的脚本。第一个是会话脚本,它将调用启动该rm命令的脚本:

    echo "sudo /usr/bin/harakiri.sh" | sudo tee /usr/bin/harakiri
    sudo chmod a+x /usr/bin/harakiri
    
  3. 创建将启动命令的脚本rm

    echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri.sh
    sudo chmod a+x /usr/bin/harakiri.sh
    
  4. 授予您的用户无需密码即可运行它的权限。运行sudo visudo并添加以下行:

    youruser  ALL=NOPASSWD:/usr/bin/harakiri.sh
    

现在您将能够harakiri从登录屏幕选择会话,这将删除驱动器上的所有内容。


注意事项

  1. 这非常危险,可能会删除硬盘上的所有内容。请先尝试使用破坏性较小的命令,以确保一切正常。

  2. 即使你删除了所有内容,专家也相对容易恢复你的文件。你可能需要研究以下实用程序撕碎

答案3

首先:你想做的事并非不可能,但比你想象的更困难,因为你需要:

  1. 启动到 root shell
  2. 执行删除命令(rm --recursive --force /不起作用)

    如果你尝试一下,你将会得到:

    rm --recursive --force /
    rm: it is dangerous to operate recursively on ‘/’
    

因此更好的选择是:

  1. 如何安全地擦除硬盘数据?

或者甚至更好:

  1. 安装后启用磁盘加密这样就根本不有人可以访问。

另一条免费建议:开始备份在您尝试上述任何操作之前。

相关内容