Coloque os nomes das contas que você deseja manter, um nome por linha, no arquivo keepers e execute:
cut -d: -f1 /etc/passwd | grep -vFf keepers | while read name ; do deluser "$name" ; done
O texto acima usa cut para obter todos os nomes de usuário atuais de /etc/passwd . O comando grep -vFf keepers remove dessa lista todos os nomes, exceto os listados em keepers . Note que existem muitos usuários do sistema que você precisará manter, como root, daemon, sys, mail, lp, etc. O loop while del elimina cada nome.
deluser tem muitas opções. Veja man deluser .
Você pode querer fazer o backup de seus arquivos /etc/passwd , /etc/group e outros antes de fazer isso apenas para garantir.
Para os cautelosos, uma abordagem em duas etapas
O primeiro passo cria um arquivo com uma lista de todas as contas a serem removidas:
cut -d: -f1 /etc/passwd | grep -vFf keepers >goners
O arquivo goners deve ser cuidadosamente inspecionado para garantir que não haja contas importantes nele. Pode ser editado manualmente, se desejado. Então corra:
while read name ; do deluser "$name" ; done <goners