newusers: workaround

Handig programmatje  gevonden om snel tientallen gebruikers met paswoord aan te maken. Het noemt newusers, is terminalgebaseerd en is reeds geïnstalleerd bij Debian.

Het principe is eenvoudig: maak gewoon een tekstbestand aan met daarin per regel:
gebruiker:paswoord:uid-nummer:gid-nummer:gecos-naam:/home/naam:/bin/bash

Zoals in
koen:amazing-prachtig-paswoord:1001:1001:Koen W:/home/koen:/bin/bash

Per gebruiker een unieke naam, en gid en uid boven de 1000 en liefst ook uniek. De /home-map liefst ook uniek met gewoon dezelfde gebruikersnaam.
Je kan niet geloven hoe snel je zoiets kan maken in libreoffice-calc. Kies om op te slaan naar csv, vink 'bewerk filterinstellingen' aan en kies : (dubbelpunt) als scheidingsteken, verwijder de " voor tekst.

En dan begint de miserie: het programma heeft foutmelding van allerlei aard. Of anders: het werkt niet zoals het hoort.
De workaround bestaat hier in: maak een mapje aan, kopieer je tekstbestand hierin en split je tekstbestand per regel met volgend commando:

split -l 1 mijn-tekstbestand.csv

Wordt root en vervolgens kun je gewoon:

for i in `find . -name 'x*'`; do newusers "$i"; done

Jawel de ` is belangrijk ...

Voila. Dat was weer zo'n twee uur opzoekwerk... maar het heeft me wel geholpen om in 1 keer 30 gebruikers aan te kunnen maken ;-)