Log niet in als root hoor je vaak.

Maar waarom dan. Het is toch jouw computer, en op dat andere OS was je ook altijd de baas.

Nou hierom:
Bijvoorbeeld omdat *nix niet eens met z'n ogen knippert als je je complete filesysteem weggooit.

Doe het volgende nooit

Als je in een gekke bui bent moet je maar eens intikken:
bilbo@bilbo:~$ su 
Password:
root@bilbo:/home/bilbo# cd /
root@bilbo:/# rm -R *
root@bilbo:/#
        
Ik weet niet zeker of je die laatste prompt nog krijgt, ik heb het namelijk niet zelf uitgeprobeert en ga dat ook niet doen.

Ik heb dit ooit laten doen door een stagaire. Een echte muis jockey, en hij tikte het braaf in. Na afloop vroeg hij.... "en nu".
Nou nix dus.... er is nix meer. Backup terug zetten als je die hebt of anders her-installeren.

Er zijn wel meer voorbeelden te verzinnen, grondiger en sneller. Maar het komt eigenlijk altijd op hetzelfde neer:
Als root ben je opermachtig op je systeem.....

en een tikvoutje is zo gemaakt.

Ok, niet als root werken. Maar af en toe moet je wel eens wat doen wat je als normale gebruiker niet mag. Moet je dan uitloggen en opnieuw inloggen als root?

Nee dat hoeft niet. Dit is *nix mensen!

Je hebt verschillende opties:

Hieronder zal ik trachten uit te leggen wat su doet.
su:
Uit de manpage
SU(1)
NAME
       su - change user ID or become super-user

SYNOPSIS
       su [-] [username [args]]

DESCRIPTION
       su  is  used  to become another user during a login session. Invoked
       without a username, su defaults to  becoming  the  super  user.  The
       optional  argument  - may be used to provide an environment similiar
       to what the user would expect had the user logged in directly.
        

Je hebt su dus nodig als je een identiteitscrisis hebt.

In feite komt het op 2 tal verschijningsvormen neer:
`su [naam]`
en
`su - [naam]`

Indien je de naam weglaat, dan zal su aannemen dat je root wilt worden.
Na het intikken van het commando zal om het wachtwoord van de gebruiker gevraagd worden. Behalve als je al root bent. Root is opermachtig weet je nog? De root mag iedereen worden zonder verificatie.

De optie "-" betekent dat je de omgeving krijgt van de andere gebruiker. Dit betekent dat je dan de PATH instellingen van root ook krijgt, al die programma's die je al root nodig hebt worden dan weer in het PATH gevonden.

Een optie die (bij mij tenminste) niet in de manpage staat is de -c optie. De -c optie stelt je staat een commando als een andere gebruiker (root) uit te voeren.

bilbo@bilbo:~$ tail /var/log/messages
tail: /var/log/messages: Permission denied
bilbo@bilbo:~$ su -c "tail /var/log/messages"
Password:
Oct 14 11:55:55 bilbo -- MARK --
Oct 14 12:15:55 bilbo -- MARK --
Oct 14 12:35:55 bilbo -- MARK --
Oct 14 12:55:54 bilbo -- MARK --
Oct 14 13:15:54 bilbo -- MARK --
Oct 14 13:35:54 bilbo -- MARK --
Oct 14 13:55:54 bilbo -- MARK --
Oct 14 14:15:54 bilbo -- MARK --
Oct 14 14:35:54 bilbo -- MARK --
Oct 14 14:55:54 bilbo -- MARK --
bilbo@bilbo:~$
        

[zwijmelend]Ik wou dat dit in NT ook kon.[/zwijmelend]

PS: Sun Oct 10 10:57:34 CEST 2004
Om maar ff "volledig" te zijn.

NT Kan dit niet, maar XP, W2K en W2K3 kunnen dit wel. Bij allemal kun je het commando runas gebruiken. In XP en W2K kun je een object [shift][rechts-klik]en om uitvoeren als te kiezen, bij W2K3 volstaat een [rechts-klik].