Supprimer des utilisateurs indésirables sur GNU Social
Je me suis créé une instance GNU Social (nouveau nom de StatusNet) il y a quelques mois. A l’époque, j’avais oublié de verrouiller l’inscription. Évidement, les spammeurs trouvèrent vite mon instance et je me retrouve avec plus de 160 comptes indésirables.
La façon simple de supprimer un compte est de se rendre dans la liste des utilisateurs (/directory/users
), ouvrir un à un le profil de l’utilisateur et de le supprimer.
Si vous voulez un peu automatiser la chose, c’est possible avec ces deux commandes:
Ceci vous listera et supprimera tous les utilisateurs ne s’appelant pas ‘mart’. Dans le cas où vous possédez des comptes réels, il faudra sans doute faire une requête plus complexe pour par exemple n’obtenir que les personnes ayant poster 0 ou 1 message, etc.
Le -y
étant pour ne pas demander de confirmation avant la suppression. Au passage si vous avez un utilisateur légitime s’appelant ‘nickname’, il serait également intéressant de supprimer la première ligne du fichier

Notez que la boucle for est la syntaxe Fish. L’équivalent bash devrait ressembler à: