SU

Substitute User

Veel mensen denken dat su staat voor Super User, maar het staat eigenlijk voor Substitute User of vervang gebruiker in het Nederlands.

De reden waarom veel mensen dit denken is omdat wanneer je het commando gebruikt zonder parameter of met enkel als parameter het systeem er automatisch vanuit gaat dat je wil omschakelen naar de root gebruiker.

De voornaamste reden om su te gebruiken en niet sudo is als er meerdere bewerkingen als root gedaan moeten worden, men moet dan niet steeds sudo ingeven voor het commando, dit geeft wel een iets groter veiligheidsrisico omdat het mogelijk is dat je vergeet dat je als root werkt en niet als "gewone" gebruiker1.

Figuur 1. $ su zoals het meestal gebruikt wordt, zonder enige parameter mee te geven.
SU zoals het meestal gebruikt wordt, zonder enige parameter mee te geven.
Let niet op de tekst "lease toch the device. dit hoort niet bij su maar is een extra beveiliging die ik op mijn computers gebruik. Zonder een speciale key in een USB-Poort van de computer kan ik niet inloggen of su/sudo gebruiken. Indien deze key geplaatst is én indien het wachtwoord correct is moet ik een contact op deze key aanraken. Doe ik dit niet binnen een bepaalde tijd of is de key niet geplaatst dan krijg ik geen toegang tot het systeem (indien het is afgesloten) of kan ik niet omschakelen naar root met su of het sudo commando gebruiken.
een andere methode om su aan te roepen is met su -
Figuur 2. $ su -
su -
Dit lijkt misschien hetzelfde als su maar er is een verschil:
  • su schakelt enkel om naar een andere gebruiker, en geeft een normale shell bijna gelijkaardig als deze van de oude gebruiker.
  • su - roept een login shell aan na het omschakelen, deze reset alle omgevingsvariabelen en biedt een schone basis.

Een alternatieve parameter die hetzelfde doet als - is -l of –-login, als je - gebruikt moet je dit altijd ingeven voor de gebruikersnaam, bij -l of –-login is dat niet noodzakelijk.

Wil je omschakelen naar een andere gebruiker dan root, dan gebruik je su GEBRUIKERSNAAM
Figuur 3. $ su patrick
su patrick
Enkele andere mogelijke parameters van su zijn:
  1. su -c COMMANDO of su –-command COMMANDO: Dit zal het commando uitvoeren na het omschakelen, dit biedt geen interactieve shell dus interactieve programma's die TTY nodig hebben zullen niet werken.
    Figuur 4. $ su root -c "apt update"
    su root -c "apt update"
  2. su -s of su –-shell: Hiermee geef je aan welke Shell je wenst te gebruiken.
    Figuur 5. $ su root -s /bin/csh
    su root -s /bin/csh
  3. su -m of su -p of su –-preserve-environment: behoud de uitvoeringsinstellingen, behalve $PATH (wordt ingesteld volgens /etc/login.defs) en $IFS (wordt ingesteld naar “<space><tab><newline>” indien het was ingesteld.

Terugkeren naar jouw enigen account doe je simpelweg met exit.

Meer informatie kun je altijd terugvinden in de manpages of de infopages

1 vaak kun je dit wel afleiden aan de # in de prompt ipv $ of door het commando whoami in te geven.