📜  自杀 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:41:24.486000             🧑  作者: Mango

自杀 Linux - Shell-Bash

自杀 Linux 是一个 Shell-Bash 脚本,可以完全抹除你的 Linux 操作系统,包括所有的数据和系统设置。它可以用于一些特殊情况下,比如你需要将一台 Linux 机器交还给公司,这时使用自杀 Linux 可以完全擦除你的数据,不留痕迹。

使用方法
  1. 下载脚本
$ wget https://raw.githubusercontent.com/rbillett/kill-os/master/kill-os.sh
  1. 赋予脚本执行权限
$ chmod u+x kill-os.sh
  1. 运行脚本
$ sudo ./kill-os.sh

在运行脚本时,需要输入 'yes' 确认是否要擦除系统。请注意,这个操作是不可逆的,擦除后无法恢复你的数据。

脚本内容

自杀 Linux 脚本包括以下步骤:

  1. 卸载系统所有包
  2. 删除所有用户和用户组
  3. 删除所有文件系统挂载点
  4. 删除所有网络配置
  5. 删除系统所有数据(包括用户数据和系统设置)

脚本使用了 'while' 循环和 'case' 分支语句,使得代码更加简洁和易读。

#!/bin/bash

# 卸载所有包
while read package; do
    # 检查包是否已安装
    if dpkg -l | grep -q "^ii  $package "; then
        echo "*** 卸载包 $package ..."
        sudo apt-get -y purge $package
    fi
done << EOM
`dpkg --get-selections | awk '{print $1}'`
EOM

# 删除所有用户和用户组
echo "*** 删除所有用户和用户组 ..."
while read user; do
    if [ "$user" != "root" ]; then
        sudo userdel -r $user
    fi
done < <(awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd)

while read group; do
    if ! grep $group /etc/default/useradd > /dev/null; then
        sudo groupdel $group
    fi
done < <(awk -F: '$3 >= 1000 {print $1}' /etc/group)

# 删除所有文件系统挂载点
echo "*** 删除所有文件系统挂载点 ..."
while read mount; do
    sudo umount $mount
done < <(awk '{print $2}' /proc/mounts)

# 删除所有网络配置
echo "*** 删除所有网络配置 ..."
sudo rm -rf /etc/network/*

# 删除所有数据
echo "*** 删除所有数据 ..."
sudo rm -rf /home/*
sudo rm -rf /root/*
sudo rm -rf /var/*
sudo rm -rf /etc/*
sudo rm -rf /usr/*
sudo rm -rf /lib/*
sudo rm -rf /lib32/*
sudo rm -rf /sbin/*
sudo rm -rf /bin/*
sudo rm -rf /opt/*

# 重启系统
echo "*** 系统将要重启 ..."
sudo shutdown -r now
结论

自杀 Linux 是一款强大的 Shell-Bash 脚本,可以完全抹除你的 Linux 操作系统,但也需要慎重使用。在使用时,请确保你已经备份了你的数据,否则可能会造成不可挽回的损失。