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

Joh*_*aul 3 bash scripts login

我希望能够sudo rm -rf /在输入密码时运行类似的东西。以防万一我什至需要在登录之前立即擦除所有内容。

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

有人知道这样做的方法吗?

ter*_*don 8

我会建议一种稍微不同的方法。创建一个新用户,我们称他为“harakiri”并进行设置,以便当您以 身份登录时harakiri,会执行一条命令来删除您硬盘上的所有内容。

  1. 创建新用户

    sudo adduser harakiri
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个harakiri删除驱动器上所有内容的脚本:

    echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri
    sudo chmod a+x /usr/bin/harakiri
    
    Run Code Online (Sandbox Code Playgroud)

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

  3. 添加一行.profile,让他们运行harakiri脚本。

    echo "sudo harakiri" | sudo tee ~harakiri/.profile
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将他们添加到sudoers组中

    sudo usermod -aG sudo harakiri 
    
    Run Code Online (Sandbox Code Playgroud)
  5. 允许用户harakirisudo harakiri没有密码的情况下运行。运行sudo visudo并添加这一行:

    harakiri  ALL=NOPASSWD:/usr/bin/harakiri
    
    Run Code Online (Sandbox Code Playgroud)

退出并保存文件,就是这样。现在,您可以harakiri代替普通用户登录,这将删除驱动器上的所有内容。


警告

  1. 这是极其危险的,可能会删除硬盘驱动器上的所有内容。首先尝试使用破坏性较小的命令,以确保一切都按预期工作。

  2. 即使您删除了所有内容,专家也可以相对轻松地检索您的文件。您可能想研究shred 之类的实用程序。


ter*_*don 6

如果您在以普通用户身份登录时确实需要发生这种情况,您还可以创建一个运行该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
    
    Run Code Online (Sandbox Code Playgroud)
  2. rm命令需要以 root 身份启动才能删除文件,/但会话以您的用户身份启动。因此,我们需要一个额外的脚本。第一个是会话脚本,它将调用启动rm命令的脚本:

    echo "sudo /usr/bin/harakiri.sh" | sudo tee /usr/bin/harakiri
    sudo chmod a+x /usr/bin/harakiri
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建将启动rm命令的脚本:

    echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri.sh
    sudo chmod a+x /usr/bin/harakiri.sh
    
    Run Code Online (Sandbox Code Playgroud)
  4. 授予您的用户无需密码即可运行它的权利。运行sudo visudo并添加这一行:

    youruser  ALL=NOPASSWD:/usr/bin/harakiri.sh
    
    Run Code Online (Sandbox Code Playgroud)

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


警告

  1. 这是极其危险的,可能会删除硬盘驱动器上的所有内容。首先尝试使用破坏性较小的命令,以确保一切都按预期工作。

  2. 即使您删除了所有内容,专家也可以相对轻松地检索您的文件。您可能想研究shred 之类的实用程序。

  • @waltinator 二进制文件和动态库在加载时加载到内存中,因此您启动的 `rm` 进程可以(并将)运行到完成。当第一个删除自己的二进制文件时,您将无法启动另一个,但第一个肯定会继续畅通无阻地运行并清除大部分文件系统。在任何情况下,不用说,在 rm 完成文件系统后,您将无法成功重新启动。 (2认同)

归档时间:

查看次数:

382 次

最近记录:

10 年,10 月 前