Masowe usuwanie kont


Zdarza się, że trzeba usunąć więcej niż jedno konto użytkownika na jakimś linuksowym serwerze. W moim przypadku, taka sytuacja ma miejsce na serwerze ftp, na którym konta użytkowników są zakładane z góry określonym terminem ważności. Po przekroczeniu terminu, konta są automatycznie blokowane. Informację o zablokowanych kontach otrzymamy po:

passwd -Sa | grep " L "

Na tej podstawie można zdefiniować wyszukiwanie kont, które chcemy usunąć. W moim przypadku były to wszystkie konta, których katalog domowy nazywał się Vendors, gdzie nazwa katalogu nadrzędnego kończyła się cyfrą 3. Dzięki temu można było wyszukać wszystkie konta przeznaczone do wywałki:

grep "3/Vendors" /etc/passwd

Aby okroić to co zwraca w/w komenda do listy kont:

grep "3/Vendors" /etc/passwd | awk -F ":" '{print $1}'

I ostatecznie aby przekazać komendzie userdel:

grep "3/Vendors" /etc/passwd | awk -F ":" '{print $1}' | xargs -n1 userdel -r