Sommige programma's kunnen normaal gesproken alleen als root uitgevoerd worden. Voorbeelden zijn smbmount en cdrecord. Maar je wilt die waarschijnlijk ook wel als normale gebruiker kunnen uitvoeren! Een mogelijke oplossing is die programma's suid-root maken (zie paragraaf 6.4), maar een beter idee is sudo gebruiken. Met behulp van sudo kun je normale gebruikers op een veilige manier programma's laten uitvoeren alsof ze door root zouden worden uitgevoerd. Je kunt sudo vinden op http://www.courtesan.com/sudo/, maar het zit waarschijnlijk ook wel bij je distributie.
Sudo configureren doe je niet door direct het configuratiebestand /etc/sudoers te gaan aanpassen, maar door (als root) visudo uit te voeren. Een voorbeeldconfiguratie:
Host_Alias HOSTNAME = huijts User_Alias USERS = jarkko Runas_Alias OP = root Cmnd_Alias CDWRITER = /usr/bin/cdrecord Cmnd_Alias SAMBA = /usr/bin/smbmnt, /usr/bin/smbmount, /usr/bin/smbumount # Logbestanden Defaults syslog=auth Defaults@HUIJTS log_year, logfile=/var/log/sudo.log # User privilege specification root ALL = (ALL) ALL jarkko ALL = (ALL) NOPASSWD:ALL
Met deze configuratie kan ik als gebruiker jarkko door sudo cdrecord in te tikken cdrecord uitvoeren alsof root het startte. Door de optie NOPASSWD hoef ik geen wachtwoord in te tikken als ik sudo gebruik. Gebruik je die optie niet, dan moet je je eigen wachtwoord telkens intikken als je sudo gebruikt.
Zie de manual pages van sudo en sudoers voor meer informatie.