Advanced sudo

Om nieuwe scripts goed te kunnen testen moet je deze soms kunnen testen onder te gebruiker waar deze ook gaat draaien.   Nu kent linux hier het su of sudo commando voor, maar hoe zorg je dat je ook in de juiste omgeving terecht komt?

Standaard wordt de sudo commando gebruikt om een command als ‘root’, als beheerder uit te kunnen voeren:

sudo service apache2 start

ofwel sudo <commando>.

Om met sudo te switchen naar een andere willekeurige gebruiker heb je wat meer optie’s nodig:

sudo -H -u nagios /bin/sh

-H hiermee verander je HOME direcory ook naar de home directory van de gebruiker.
-u <username>  hiermee geef je de gewenste gebruiker aan waar je gebruik van wilt maken.
/bin/sh de shell welke je wilt gebruiken. Vaak is deze niet default aangegeven, en moet je dit dus op deze wijze doen.

Met dit commando krijg je een prompt waarin je commando’s kunt uitvoeren. 

Je kunt ook direct een commando uitvoeren:

sudo -H -u otheruser bash -c ‘echo “I am $USER, with uid $UID”‘