Tijdelijk deactiveren van een gebruikersaccount

Soms moet een account tijdelijk worden gedeactiveerd, zonder dat deze wordt verwijderd. Het kan bijvoorbeeld zijn dat de gebruiker zijn honorarium niet heeft betaald, of de systeembeheerder vermoedt dat een cracker aan het wachtwoord voor dat account is gekomen.

De beste manier om een account te deactiveren is door zijn shell te wijzigen in een speciaal programma dat slechts een bericht afdrukt. Op deze wijze kan degene die het probeert, niet inloggen op het account, en op de hoogte worden gesteld waarom dit niet lukt. In het bericht kan worden opgenomen dat de gebruiker contact moet opnemen met de systeembeheerder zodat er wat aan eventuele problemen gedaan kan worden.

Het is ook mogelijk de gebruikersnaam of het wachtwoord op iets anders in te stellen, maar dan weet de gebruiker niet wat er aan de hand is. Beduusde gebruikers betekent meer werk.

Een eenvoudige manier om de speciale programma's aan te maken is het schrijven van `tail scripts':

#!/usr/bin/tail +2
This account has been closed due to a security breach.
Please call 555-1234 and wait for the men in black to arrive.
De eerste twee tekens (`#!') vertellen de kernel dat de rest van de regel een opdracht is die moet worden uitgevoerd om dit bestand te kunnen interpreteren. De opdracht tail geeft in dit geval alles weer op standaarduitvoer behalve de eerste regel.

Als gebruiker billg wordt verdacht van een inbreuk op de beveiliging, kan de systeembeheerder iets doen als:

# chsh -s 
/usr/local/lib/no-login/security billg
# su - tester
This account has been closed due to a security breach.
Please call 555-1234 and wait for the men in black to arrive.
#
Het doel van su dient uiteraard om te testen of de wijziging werd doorgevoerd.

Tail scripts horen te worden bewaard in een aparte directory, zodat de bestandsnaam ervan niet de uitvoering van normale gebruikersopdrachten belemmert.