我希望能够sudo rm -rf /
在输入密码时运行类似这样的程序。以防万一我需要在登录前一次性清除所有内容。
我知道存在安全问题,所以在理想的情况下,我希望能够在 .bashrc 中进行设置,这样我就可以输入一些不太明显的内容。
有人知道怎样做吗?
答案1
我建议采用略有不同的方法。创建一个新用户,我们称其为“harakiri”,然后进行设置,这样当您以 身份登录时harakiri
,就会执行一条命令,删除硬盘上的所有内容。
创建新用户
sudo adduser harakiri
创建一个
harakiri
删除驱动器上所有内容的脚本:echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri sudo chmod a+x /usr/bin/harakiri
我们现在有这个
harakiri
命令,当以 root 身份运行时,它将删除你的/
.添加一行来
.profile
让它们运行harakiri
脚本。echo "sudo harakiri" | sudo tee ~harakiri/.profile
将他们添加到
sudoers
群组sudo usermod -aG sudo harakiri
允许用户无密码
harakiri
运行。运行并添加以下行:sudo harakiri
sudo visudo
harakiri ALL=NOPASSWD:/usr/bin/harakiri
退出并保存文件,就这么简单。现在,您可以以harakiri
普通用户身份登录,这将删除驱动器上的所有内容。
注意事项
这非常危险,可能会删除硬盘上的所有内容。请先尝试使用破坏性较小的命令,以确保一切正常。
即使你删除了所有内容,专家也相对容易恢复你的文件。你可能需要研究以下实用程序撕碎。
答案2
如果你真的需要为了在您以普通用户身份登录时发生这种情况,您还可以创建一个运行该rm
命令的虚假 X 会话。
创建
.desktop
文件。运行sudo nano /usr/share/xsessions/harakiri.desktop
并添加以下行:[Desktop Entry] Name=Harakiri Comment=This session will destroy everything Exec=harakiri Icon= Type=Application
该
rm
命令需要以 root 身份启动才能删除文件/
,但会话是以您的用户身份启动的。因此,我们需要一个额外的脚本。第一个是会话脚本,它将调用启动该rm
命令的脚本:echo "sudo /usr/bin/harakiri.sh" | sudo tee /usr/bin/harakiri sudo chmod a+x /usr/bin/harakiri
创建将启动命令的脚本
rm
:echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri.sh sudo chmod a+x /usr/bin/harakiri.sh
授予您的用户无需密码即可运行它的权限。运行
sudo visudo
并添加以下行:youruser ALL=NOPASSWD:/usr/bin/harakiri.sh
现在您将能够harakiri
从登录屏幕选择会话,这将删除驱动器上的所有内容。
注意事项
这非常危险,可能会删除硬盘上的所有内容。请先尝试使用破坏性较小的命令,以确保一切正常。
即使你删除了所有内容,专家也相对容易恢复你的文件。你可能需要研究以下实用程序撕碎。
答案3
首先:你想做的事并非不可能,但比你想象的更困难,因为你需要:
- 启动到 root shell
执行删除命令(
rm --recursive --force /
不起作用)如果你尝试一下,你将会得到:
rm --recursive --force / rm: it is dangerous to operate recursively on ‘/’
因此更好的选择是:
或者甚至更好:
- 安装后启用磁盘加密这样就根本不有人可以访问。
另一条免费建议:开始备份在您尝试上述任何操作之前。