• Vastliggende pagina
  • Info
  • Bijlages
Verschillen tussen versies 1 en 2
Versie 1 sinds 2009-06-22 21:16:40
Grootte: 16659
Commentaar: Eerste begin van sudo vertaling.
Versie 2 sinds 2009-06-24 10:03:15
Grootte: 10623
Auteur: testcees
Commentaar:
Verwijderingen worden op deze manier gemarkeerd. Toevoegingen worden op deze manier gemarkeerd.
Regel 1: Regel 1:
= Inleiding =
In linux (en unix in het algemeen) is er een supergebruiker genaamd '''root''', de windows equivalent voor '''root''' is administrator. De supergebruiker kan alles doen, de supergebruiker gebruiken voor het dagelijkse werk kan gevaarlijk zijn. Door een typefout in een commando kan heel het systeem vernietigd worden. In het ideale geval gebruikt u een gebruiker die enkel de rechten heeft nodig voor de taak. In sommige gevallen is dit noodzakelijk root, maar het meeste gevallen is dit een gewone gebruiker.
{{{#!wiki note
Deze pagina staat in de ontwerpdocumentatie. De inhoud is waarschijnlijk nog niet klaar om in de documentatie geïntegreerd te worden en kan fouten bevatten. Indien u fouten opmerkt mag u ze zeker verbeteren, rekening houdende met onze [[community/Richtlijnen|richtlijnen]].
Regel 4: Regel 4:
'''In ubuntu is standaard het root wachtwoord geblokkeerd''' Dit betekent dat u niet kan aanmelden als root of het commando {{{su}}} gebruiken om root te worden.Echter aangezien de root gebruiker fysisch bestaat, is het mogelijk om programma's te draaien met root rechten. Dit is waar sudo voor gebruikt wordt, het laat gemachtigde gebruikers (normaal gezien zijn dit de adminstratieve gebuikers, kijk in AddUsersHowto voor meer informatie) toe om bepaalde programma's als root te draaien zonder dat u het root wachtwoord hoeft te kennen.

Dit betekent dat u in de terminal sudo moet gebruiken voor commando's die root rechten vereisen. Voeg gewoon {{{sudo}}} voor alle commando die normaal gezien als root zou draaien. U vindt verder in dit artikel uitgebreide voorbeelden. Voor grafische programma's gebruikt die root rechten vereisen, gebruikt u de grafische variant van sudo. Sudo zal u naar een wachtwoord vragen, geef dan het gebruikers wachtwoord en niet het root wachtwoord.
   
## Maak een nieuw topic aan in het documentatie-onderdeel van het forum; vervang deze link zodat hij naar de juiste pagina verwijst:
## Discussieer over dit artikel in het [[http://forum.ubuntu-nl.org/link-naar-forumtopic|forum]].
}}}
||<tablebgcolor="#f5f0e3" tablestyle="float: right;"rowbgcolor="#d9bb7a"style="border-color: rgb(255, 255, 255); border-right-width: 0px;">'''Geschikt voor:''' ||<style="border-color: rgb(255, 255, 255); border-left-width: 0px; text-align: right;"> {{attachment:StartPagina/ubuntu.png|Ubuntu, GNOME}} {{attachment:StartPagina/kubuntu.png|Kubuntu, KDE}} {{attachment:StartPagina/xubuntu.png|Xubuntu, XFCE}} {{attachment:StartPagina/ubuntuserver.png|Ubuntu Server}} ||
||<rowbgcolor="#d9bb7a"style="border-color: rgb(255, 255, 255); border-right-width: 0px;">'''Versie:''' ||<style="border-color: rgb(255, 255, 255); border-left-width: 0px; text-align: right;">alle ondersteunde versies ||
||||<style="border-color: rgb(255, 255, 255); text-align: center;"><<TableOfContents>> ||
Regel 10: Regel 12:
= Voordelen en nadelen = = Inleiding =
In linux (en unix in het algemeen) is er altijd een supergebruiker met de naam '''root''', vergelijkbaar met administrator bij een windows systeem. Deze supergebruiker heeft alle (bestandssysteem) rechten en kan alles. De supergebruiker gebruiken voor het dagelijkse werk kan mede daarom gevaarlijk zijn. Door een typefout in een commando kan heel het systeem vernietigd worden! Beperk zo veel mogelijk het gebruik van meer rechten dan nodig. In sommige gevallen moeten dit de rechten van de supergebruiker, root, zijn maar in de meeste gevallen voldoen de rechten van een een gewone gebruiker.
Regel 12: Regel 15:
'''In ubuntu is standaard de root toegang geblokkeerd en is er geen root wachtwoord'''. Dit betekent dat u '''niet''' kan aanmelden als supergebruik root of de opdracht {{{su}}} kan gebruiken om supergebruiker te worden. Maar de supergebruiker, root, bestaat wel en het is mogelijk om programma's te draaien met root rechten. Hiervoor wordt '''sudo''' gebruikt, hiermee kunnen (gemachtigde) gebruikers bepaalde programma's als gebruiker '''root''' te draaien zonder een root wachtwoord te kennen. Door de Ubuntu installatieprocedure wordt de '''eerste gebruiker''' gemachtigd om '''sudo''' te gebruiken.

Door in het terminalscherm '''sudo''' te gebruiken '''vóór''' een opdracht wordt deze opdracht uitgevoerd als gebruik '''root''' en de bijbehorende rechten.

Voor grafische programma's gebruikt die root rechten vereisen, gebruikt u de grafische variant van sudo. Sudo zal u naar een wachtwoord vragen, geef dan het '''gebruikers wachtwoord''' en niet het root wachtwoord.

(!) het wachtwoord wordt NIET getoont op het scherm als het wordt ingetypt, zelfs geen sterretjes (******) ofzo.

= Voor en nadelen =
Regel 13: Regel 25:
 * Het Ubuntu installatieprogramma vraagt niet om een apart root wachtwoord.
 * Het is niet nodig dat gebruikers een extra root wachtwoord onhouden (en kunnen deze dus ook niet vergeten!).
 * Voorkomt dat een gebruiker zomaar root gaat gebruiken om "alles te kunnen". Door sudo wordt om een wachtwoord gevraagd bij belangrijke wijzigingen aan het systeem om de gebruiker bewust te maken dat dit een ingrijpende wijziging kan zijn.
 * De sudo opdracht maakt een log van alle gebruikte opdracht (in {{{/var/log/auth.log}}}).
 * Een "indringer" weet dat er een gebruiker met de naam root aanwezig is en kan proberen het wachtwoord te raden. Dit is echter zinloos omdat de root gebruiker geen toegang heeft.
 * De mogelijkheid om beheerrechten te gebruiken kan, voor korte of langere tijd, eenvoudig aan andere gebruikers worden toegekend zonder dat een wachtwoord voor de '''root''' gebruiker gedeeld moet worden.
 * De mogelijkheden voor sudo kan nauwkerig worden geconfigureerd.
 * Na korte tijd (15 minuten) verloopt het recht op gebruik van sudo. Er wordt dan opnieuw om het wachtwoord gevraagd. Als per ongeluk het beeldscherm onvergrendeld wordt verlaten kan iemand anders na korte tijd '''geen''' gebruik meer van '''sudo''' maken.
Regel 14: Regel 34:
Enkele voordelen van het '''root''' wachtwoord geblokkeerd te laten:
 * Het Ubuntu installatieprogramma moet minder vragen stellen.
 * Gebruikers moeten geen extra wachtwoord onthouden
 *
 * sudo maakt een log van elk gebruikt commando (in {{{/var/log/auth.log}}}).
Some benefits of leaving '''root''' logins disabled by default include the following:
 * The Ubuntu installer has fewer questions to ask.
 * Users don't have to remember an extra password (i.e. the root password), which they are likely to forget.
 * It avoids the "I can do ''anything''" interactive login by default (e.g. the tendency by users to login as an "Administrator" user in Microsoft Windows systems), you will be prompted for a password before major changes can happen, which should make you think about the consequences of what you are doing.
 * sudo adds a log entry of the command(s) run (in {{{/var/log/auth.log}}}). If you mess up, you can always go back and see what commands were run. It is also nice for auditing.
 * Every cracker trying to ''brute-force'' their way into your box will know it has an account named '''root''' and will try that first. What they don't know is what the usernames of your other users are. Since the root account password is locked, this attack becomes essentially meaningless, since there is no password to crack or guess in the first place.
 * Allows easy transfer for admin rights, in a short term or long term period, by adding and removing users from groups, while not compromising the '''root''' account.
 * sudo can be setup with a much more fine-grained security policy.
 * The root account password does not need to be shared with everybody who needs to perform some type of administrative task(s) on the system (see the previous bullet).
 * The authentication automatically expires after a short time (which can be set to as little as desired or 0); so if you walk away from the terminal after running commands as root using sudo, you will not be leaving a root terminal open indefinitely.
== Nadelen van het gebruik van sudo ==
Hoewel het gebruik van sudo, zeker voor een desktop computer, veel voordelen heeft zijn er ook een paar nadelen:
Regel 30: Regel 37:
== Downsides of using sudo ==  * Het omleiden van de uitvoer van terminalopdrachten werkt met sudo anders. Bijvoorbeeld {{{sudo ls > /root/bestand}}} werkt niet. In plaats daarvan kan `ls | sudo tee -a /root/somefile` worden gebruikt om de uitvoer aan het bestand toe te voegen of `ls | sudo tee /root/somefile` om het bestand te vervangen met de uitvoer.
 * Omdat voor iedere opdracht de tekst '''sudo''' moet worden getyped en iedere 15 minuten opnieuw om het wachtwoord wordt gevraagd is het voor zwaar gebruik minder handig.
Regel 32: Regel 40:
Although for desktops the benefits of using sudo are great, there are possible issues which need to be noted:
 * Redirecting the output of commands run with sudo requires a different approach. For instance consider {{{sudo ls > /root/somefile}}} will not work since it is the shell that tries to write to that file. You can use `ls | sudo tee -a /root/somefile` to append, or `ls | sudo tee /root/somefile` to overwrite contents. You could also pass the whole command to a shell process run under sudo to have the file written to with root permissions, such as `sudo sh -c "ls > /root/somefile"`.
 * In a lot of office environments the ONLY local user on a system is root. All other users are imported using NSS techniques such as nss-ldap. To setup a workstation, or fix it, in the case of a network failure where nss-ldap is broken, root is required. This tends to leave the system unusable unless cracked. An extra local user, or an enabled root password is needed here. The local user account should have its $HOME on a local disk, _not_ on NFS (or any other networked filesystem), and a .profile/.bashrc that doesn't reference any files on NFS mounts. This is usually the case for root, but if adding a non-root rescue account, you will have to take these precautions manually.
  * Alternatively, a sysadmin type account can be implemented as a local user on all systems, and granted proper sudo privileges. As explained in the benefits section above, commands can be easily tracked and audited.
## * Using the `single` boot parameter (for example, to repair a broken system) doesn't help much if you intend to use the `root` option (labeled `Drop to root shell prompt`) from the Recovery menu, since that option requires entering the root password. (This however seems to have been fixed in the 8.10 release.)

## * The need to maintain an intricate configuration file, sudoers, and the sudo mechanism in general make the system more complex; this will cost learning time. An error in sudoers could conceivably create a security hole.
## * In a long sequence of sysadmin commands, the need to prefix each command with "{{{sudo }}}", the inability to use redirection naturally, and having to retype ones password every 15 minutes are exasperating. For a heavy sysadmin session, a conventional root shell is better.

## The last addition seems to be written from the point of view that sudo is a poor choice. The downsides mentioned are weak at best, and also go against the policy of not recommending a root shell.

= Usage =
 * When using sudo, password is stored by default for 15 minutes. After that time, you will need to enter your password again.
 * Your password will '''not''' be shown on the screen as you type it, not even as a row of stars (******). It is being entered with each keystroke!
= Gebruik =
 * Bij het gebruik van sudo, wordt om het wachtwoord gevraagd. Standaard wordt het wachtwoor 15 minuten lang onthouden. Daarna wordt opnieuw om het wachtwoord gevraagd.
 * Het wachtwoord wordt NIET getoont op het scherm als de wordt ingetypt, zelfs geen sterretjes (******) ofzo.
Regel 48: Regel 45:
To use {{{sudo}}} on the command line, preface the command with {{{sudo}}}, as below:
''Example #1''
Om {{{sudo}}} in een terminalvenster te gebruiken type {{{sudo}}} voor de werkelijke opdracht :

''Voorbeeld 1''
Regel 51: Regel 50:
sudo chown bob:bob /home/bob/* sudo chown naam:naam /home/naam/*
Regel 53: Regel 52:
''Example #2'' ''Voorbeeld 2''
Regel 57: Regel 57:
Om een opdracht te herhalen, maar dan met sudo:
Regel 58: Regel 59:
To repeat the last command entered, except with sudo prepended to it, run:
Regel 61: Regel 61:
}}} }}}
== Grafisch sudo ==
Gebruik '''nooit''' sudo om de grafische desktop (X server) te starten. Gebruik {{{gksudo}}} (of {{{kdesudo}}} op Kubuntu) om een programma uit te voeren als supergebruiker, root.
Regel 63: Regel 65:
== Graphical sudo ==
You should '''never''' use normal sudo to start graphical applications as root. You should use {{{gksudo}}} ({{{kdesudo}}} on ''Kubuntu'') to run such programs. {{{gksudo}}} sets HOME=~root, and copies .Xauthority to a tmp directory. This prevents files in your home directory becoming owned by root. (AFAICT, this is all that's special about the environment of the started process with {{{gksudo}}} vs. {{{sudo}}}).
De toetscombinatie Alt-F2 kan gebruikt worden om in de grafische desktop een (gksudo) programma te starten.
Regel 66: Regel 67:
Examples: De gksudo opdracht vraagt om het wachtwoord, stelt HOME=~root in en kopieerd .Xauthority naar een tijdelijke map. Hierdoor wordt voorkomen dat er bestanden in de Persoonlijke map worden gemaakt waarvan root de eigenaar is.

Voorbeeld:
Regel 70: Regel 74:
or of
Regel 74: Regel 79:
 * To run the graphical configuration utilities, simply launch the application via the Administration menu.
 * {{{gksudo}}} and {{{kdesudo}}} simply link to the commands {{{gksu}}} and {{{kdesu}}}
 * Om via de grafische desktop een beheer programma te starten kan gebruik worden gemaakt van het menu Systeem → Beheer.
 * De opdrachten {{{gksudo}}} en {{{kdesudo}}} verwijzen naar de opdrachten {{{gksu}}} en {{{kdesu}}}.
Regel 77: Regel 82:
== Drag & Drop sudo ==
This is a trick from the [[http://www.ubuntuforums.org/showthread.php?t=24008| this thread]] on the [[UbuntuForums| Ubuntu Forums]].
== tip: Drag & Drop sudo ==
Maak een aangepaste toepassingsstarter met de volgende opdracht:
Regel 80: Regel 85:
Create a [[HowToAddaLauncher|launcher]] with the following command:
Regel 84: Regel 88:
When you drag and drop any file on this launcher (it's useful to put it on the desktop or on a panel), it will be opened as root with its own associated application. This is helpful especially when you're editing config files owned by root, since they will be opened as read only by default with gedit, etc. Als een bestand met "drag & drop" naar deze toepassingsstarter wordt gesleept en losgelaten wordt deze als supergebruiker, root, uitgevoerd of geopend met de bijbehorende toepassing. Dit kan handig zijn voor het aanpassen van configuratie bestanden. Deze worden dan standaard geopend met gedit.
Regel 86: Regel 90:
= Users =
== Allowing other users to run sudo ==
= Gebruikers =
== Sta andere gebruikers toe om sudo te gebruiken ==
Om een andere gebruiker ook het recht te geven '''sudo''' te gebruiken moet deze lid zijn van de gebruikers'''groep''' '''admin'''.
Regel 89: Regel 94:
To add a new user to sudo, open the '''Users and Groups''' tool from '''System->Administration''' menu. Then click on the user and then on properties. Choose the '''User Privileges''' tab. In the tab, find '''Administer the system''' and check that.
 * In Hardy Heron and newer, you must first '''Unlock''', then you can select a user from the list and hit '''Properties'''. Choose the '''User Privileges''' tab and check '''Administer the system'''.
Gebruik '''Systeem''' → '''Beheer''' → '''Gebruikers en groepen'''. Kies '''Ontgredelen''' (en type het wachtwoord in). Kies '''Eigenschappen''' en dan het tabblad '''Gebruikersrechten'''. Plaats een vinkje bij "'''Mag het systeem beheren'''".
Regel 92: Regel 96:
## replaced $user with <username> below so as not to be confused with the environment variable #USER
/!\ In the terminal this would be: {{{sudo adduser <username> admin}}}, where you replace <username> with the name of the user (without the <>).
In een terminalvenster kan dit gedaan worden met een opdracht (vervang "naam" door de gebruikersnaam).
Regel 95: Regel 98:
== Logging in as another user ==
'''Please don't use this to become root,''' see further down in the page for more information about that.
{{{sudo adduser naam admin}}}

== Gebruik sudo met een andere gebruikersnaam ==
'''Gebruik dit NIET om root te gebruiken.'''
Regel 98: Regel 104:
sudo -i -u <username> sudo -i -u andere_naam
Regel 100: Regel 106:
Om bijvoorbeeld gebruiker {{{amanda}}} te worden:
Regel 101: Regel 108:
For example to become the user {{{amanda}}} for tape management purposes.
Regel 105: Regel 111:
Het wachtvoor wat wordt gevraagd is het '''eigen''' wachtwoord, '''niet''' van amanda.
Regel 106: Regel 113:
The password being asked for is your own, not amanda's. == Gebruiker root ==
=== Activeer de gebruiker root ===
{{{#!wiki caution
'''Waarschuwing'''
Het is zelden nodig de root gebruiker te activeren. De rechten van de root gebruiker zijn te gebruiken met sudo of gksudo. Eventueel kan in een terminalscherm als root gebruiker worden gewerkt met de opdracht sudo -i.
}}}
Om de root gebruiker te activeren moet hiervoor een wachtwoord worden ingesteld:
Regel 108: Regel 121:
== root account ==

=== Enabling the root account ===

||<rowbgcolor="#FFF280">{{attachment:IconsPage/IconWarning3.png}}|| '''Enabling the root account is rarely necessary. Almost everything you need to do as administrator of an Ubuntu system can be done via sudo or gksudo. If you really need a persistent root login, the best alternative is to simulate a root login shell using the following command...'''||{{attachment:IconsPage/IconWarning3.png}}||
{{{
sudo -i
}}}

||{{attachment:IconsPage/dont.png}}|| '''Logging in to X as root may cause very serious trouble.''' If you believe you need a root account to perform a certain action, '''please consult the official support channels first''', to make sure there is not a better alternative. ||{{attachment:IconsPage/dont.png}}||

To enable the root account (i.e. set a password) use:
Regel 123: Regel 124:
<!> ''' Het activeren van de gebruiker root wordt AFGERADEN en is op eigen risico! '''
Regel 124: Regel 126:
''' Use at your own risk! '''
 
## Ubuntu does not support nor advocate enabling the root account. Please do NOT add info into this page about how to enable the root account.
## Not True. Sometimes enabling the root account is necessary, to be able to recover from mistakes while futzing with PAM, for example. I had to go hunt down these instructions in the page history. Don't treat users like children.
<!> De grafiche omgeving (X server) starten als gebruiker root kan leiden tot ernstige problemen.
Regel 129: Regel 128:
## Ubuntu does not "encrypt the root password when you lock it". Please don't add untrue information. === Uitschakelen gebruiker root ===
Als om enige reden de gebruiker root is geactiveerd met een wachtwoord kan deze toegang weer worden uitgeschakeld met de terminalopdracht:
Regel 131: Regel 131:
## Using the su command isn't necessary. Please use sudo/gksudo/kdesu/kdesudo. The root account should not generally be enabled.

=== Re-disabling your root account ===
## Enabling the root account in Ubuntu is not supported. Please do not add information which makes an Ubuntu system less secure.
## BodhiZazen - Added an alternate way to lock the root account. sudo usermod -p '!' root returns the hash in /etc/shadow to ! , where passwd -l root prepends a ! to the hash.

||{{attachment:IconsPage/info.png}}|| If for some reason you have enabled your root account and wish to disable it again, use the following command in terminal... ||{{attachment:IconsPage/info.png}}||
Regel 141: Regel 134:
= Overige informatie =
== Misvattingen ==
 * ''Is sudo minder veilig dan su?''
  . In de basis zijn sudo en su hetzelfde met dezelfde zwakheden. Of nu su of sudo gebruikt wordt, in alle gevallen moet de gebruiker weten dat hij de rechten van de supergebruiker heeft met de bijbehorende risico's. Wie het wachtwoord van de gebruiker kent heeft met sudo ook alle rechten op de computer. Het is dus van belang dat het wachtwoord strikt geheim gehouden wordt, vergelijkbaar met een root wachtwoord bij su. Door sudo worden gebruikers aangespoord zo vaak mogelijk te werken zonder de extra beheer rechten en niet te snel als root gebruiker te gaan werken met een su opdracht. Per definitie komt dit de veiligheid ten goede.
Regel 142: Regel 139:
## The bug with {{{passwd -l root}}} was fixed in the package landscape-client - 1.0.25-0ubuntu0.9.04 so you can safely use it as a proper way of re-disabling your root account.
## {{{usermod -p '!' root}}} actually restores the default state :)
 * ''Met een console terminalscherm (Ctrl-Alt-F1 enz.) kan ik de supergebruiker,root gebruiken zonder wachtwoord!''
  . Er is nog steeds een gebruikerswachtwoord nodig! Maar als er fysieke toegang is tot de computer zijn er wel mogelijkheden om meer rechten te krijgen. Bijvoorbeeld door de computer anders op te starten. Hiertegen zijn aanvullende maatregelen nodig (bijvoorbeeld: een grub wachtwoord of een BIOS wachtwoord). Merk op dat wie fysieke toegang heeft veel mogelijkheden heeft om beveiligingsmaatregelen te omzeilen, zoals het overplaatsen van de harde schijf in een andere computer.
Regel 145: Regel 142:
= Other Information =
== Misconceptions ==
== Vraag om het sudo wachtwoord ==
Als een wachtwoord voor sudo wordt gegeven blijft dit 15 minuten geldig. Om bij een volgende keer altijd (dus ook binnen deze 15 minuten) weer om het wachtwoord te vragen kan de volgende opdracht worden gebruikt:
Regel 148: Regel 145:
 * ''Isn't sudo less secure than su?''

  The basic security model is the same, and therefore these two systems share their primary weaknesses. Any user who uses `su` '''or''' `sudo` must be considered to be a privileged user. If that user's account is compromised by an attacker, the attacker can also gain root privileges the next time the user does so. The user account is the weak link in this chain, and so must be protected with the same care as root.

  On a more esoteric level, `sudo` provides some features which encourage different work habits, which can positively impact the security of the system. `sudo` is commonly used to execute only a single command, while `su` is generally used to open a shell and execute multiple commands. The `sudo` approach reduces the likelihood of a root shell being left open indefinitely, and encourages the user to minimize their use of root privileges.

 * ''I won't be able to enter single-user mode!''

  The sulogin program in Ubuntu is patched to handle the default case of a locked root password.

 * ''I can get a root shell from the console without entering a password!''

  You have to enter your password.

  Console users have access to the boot loader, and can gain administrative privileges in various ways during the boot process. For example, by specifying an alternate `init(8)` program. Linux systems are not typically configured to be secure at the console, and additional steps (for example, setting a root password, a boot loader password and a BIOS password) are necessary in order to make them so. Note that console users usually have physical access to the machine and so can manipulate it in other ways as well.

== Special notes on sudo and shells ==

'''None of the methods below are suggested or supported by the designers of Ubuntu.'''

Please do not suggest this to others unless you personally are available 24/7 to support the user if they have issues as a result of running a shell as root.

## sudo -i is not the same as su - nor is sudo -s == su , there are minor differences however.

To start a ''root shell'' (i.e. a command window where you can run root commands), starting root's environment and login scripts, use:
{{{
sudo -i (similar to sudo su - , gives you roots environment configuration)
}}}

To start a ''root shell'', but keep the current shell's environment, use:
{{{
sudo -s (similar to sudo su)
}}}

For a brief overview of some of the differences between su, su -, and sudo -{i,s} see : [[http://ubuntuforums.org/showpost.php?p=6188826&postcount=4|Ubuntu Forums Post with nice table]] .

For a detailed description of the differences see man su and man sudo .

 
= Remove Password Prompt For sudo =
||<rowbgcolor="#FFF280">{{attachment:IconsPage/IconDialog-Warning1.png}}||'''If you disable the sudo password for your account, you will seriously compromise the security of your computer. Anyone sitting at your unattended, logged in account will have complete root access, and remote exploits become much easier for malicious crackers.'''||{{attachment:IconsPage/IconDialog-Warning1.png}}||
 * '''This method is NOT suggested nor supported by the designers of Ubuntu.'''
 * Please do not suggest this to others unless you personally are available 24/7 to support the user if they have issues as a result of running a shell as root.

These instructions are to remove the prompt for a password when using the '''sudo''' command.
The '''sudo''' command will still need to be used for root access though.

'''Edit the sudoers file'''

Open a Terminal window.
Type in '''sudo visudo'''.
Add the following lines to the END of the file (if not at the end it can be nullified by later entries):
{{{
<username> ALL=NOPASSWD: ALL
}}}
Replace <username> with your user name (without the <>). This is assuming that Ubuntu has created a group with the same name as your user name, which is typical. You can alternately use the group ''users'' or any other such group you are in. Just make sure you are in that group. This can be checked by going to '''System->Administration->Users and Groups'''

Example:
{{{
michael ALL=NOPASSWD: ALL
}}}

Type in ''':x''' to exit.
This should prompt for an option to save the file, type in '''Y''' to save.

Log out, log back in. This should now allow you to run the sudo command without being prompted for a password.

= Reset sudo timeout =
You can make sure sudo asks for password next time by running:
Regel 220: Regel 148:
= Meer bronnen =
 * Dit is een vrije vertaling van de wiki pagina [[https://help.ubuntu.com/community/RootSudo|RootSudo]] (Engelstalig)
 * [[community/WerkenMetDeTerminal|Werken met de terminal]]
 * [[http://linux.die.net/man/8/sudo|sudo]] man page (Engelstalig)
 * [[http://linux.die.net/man/5/sudoers|sudoers file]] man page (Engelstalig)
Regel 221: Regel 154:
The default sudo timeout length can be changed by following this article: [[RootSudoTimeout]].

= Other Resources =
 * [[http://www.psychocats.net/ubuntu/fixsudo| fixing sudo]]
 * [[http://www.psychocats.net/ubuntu/graphicalsudo| graphical sudo]]
 * [[http://ubuntuforums.org/showthread.php?t=716201| Ubuntu Forums policy]] on enabling the root account
 * [[http://linux.die.net/man/8/sudo| sudo]] man page
 * [[http://linux.die.net/man/5/sudoers| sudoers file]] man page
----
CategoryWerkenMetUbuntu

Deze pagina staat in de ontwerpdocumentatie. De inhoud is waarschijnlijk nog niet klaar om in de documentatie geïntegreerd te worden en kan fouten bevatten. Indien u fouten opmerkt mag u ze zeker verbeteren, rekening houdende met onze richtlijnen.

Inleiding

In linux (en unix in het algemeen) is er altijd een supergebruiker met de naam root, vergelijkbaar met administrator bij een windows systeem. Deze supergebruiker heeft alle (bestandssysteem) rechten en kan alles. De supergebruiker gebruiken voor het dagelijkse werk kan mede daarom gevaarlijk zijn. Door een typefout in een commando kan heel het systeem vernietigd worden! Beperk zo veel mogelijk het gebruik van meer rechten dan nodig. In sommige gevallen moeten dit de rechten van de supergebruiker, root, zijn maar in de meeste gevallen voldoen de rechten van een een gewone gebruiker.

In ubuntu is standaard de root toegang geblokkeerd en is er geen root wachtwoord. Dit betekent dat u niet kan aanmelden als supergebruik root of de opdracht su kan gebruiken om supergebruiker te worden. Maar de supergebruiker, root, bestaat wel en het is mogelijk om programma's te draaien met root rechten. Hiervoor wordt sudo gebruikt, hiermee kunnen (gemachtigde) gebruikers bepaalde programma's als gebruiker root te draaien zonder een root wachtwoord te kennen. Door de Ubuntu installatieprocedure wordt de eerste gebruiker gemachtigd om sudo te gebruiken.

Door in het terminalscherm sudo te gebruiken vóór een opdracht wordt deze opdracht uitgevoerd als gebruik root en de bijbehorende rechten.

Voor grafische programma's gebruikt die root rechten vereisen, gebruikt u de grafische variant van sudo. Sudo zal u naar een wachtwoord vragen, geef dan het gebruikers wachtwoord en niet het root wachtwoord.

Info (!) het wachtwoord wordt NIET getoont op het scherm als het wordt ingetypt, zelfs geen sterretjes (******) ofzo.

Voor en nadelen

Voordelen van het gebruik van sudo

  • Het Ubuntu installatieprogramma vraagt niet om een apart root wachtwoord.
  • Het is niet nodig dat gebruikers een extra root wachtwoord onhouden (en kunnen deze dus ook niet vergeten!).
  • Voorkomt dat een gebruiker zomaar root gaat gebruiken om "alles te kunnen". Door sudo wordt om een wachtwoord gevraagd bij belangrijke wijzigingen aan het systeem om de gebruiker bewust te maken dat dit een ingrijpende wijziging kan zijn.
  • De sudo opdracht maakt een log van alle gebruikte opdracht (in /var/log/auth.log).

  • Een "indringer" weet dat er een gebruiker met de naam root aanwezig is en kan proberen het wachtwoord te raden. Dit is echter zinloos omdat de root gebruiker geen toegang heeft.
  • De mogelijkheid om beheerrechten te gebruiken kan, voor korte of langere tijd, eenvoudig aan andere gebruikers worden toegekend zonder dat een wachtwoord voor de root gebruiker gedeeld moet worden.

  • De mogelijkheden voor sudo kan nauwkerig worden geconfigureerd.
  • Na korte tijd (15 minuten) verloopt het recht op gebruik van sudo. Er wordt dan opnieuw om het wachtwoord gevraagd. Als per ongeluk het beeldscherm onvergrendeld wordt verlaten kan iemand anders na korte tijd geen gebruik meer van sudo maken.

Nadelen van het gebruik van sudo

Hoewel het gebruik van sudo, zeker voor een desktop computer, veel voordelen heeft zijn er ook een paar nadelen:

  • Het omleiden van de uitvoer van terminalopdrachten werkt met sudo anders. Bijvoorbeeld sudo ls > /root/bestand werkt niet. In plaats daarvan kan ls | sudo tee -a /root/somefile worden gebruikt om de uitvoer aan het bestand toe te voegen of ls | sudo tee /root/somefile om het bestand te vervangen met de uitvoer.

  • Omdat voor iedere opdracht de tekst sudo moet worden getyped en iedere 15 minuten opnieuw om het wachtwoord wordt gevraagd is het voor zwaar gebruik minder handig.

Gebruik

  • Bij het gebruik van sudo, wordt om het wachtwoord gevraagd. Standaard wordt het wachtwoor 15 minuten lang onthouden. Daarna wordt opnieuw om het wachtwoord gevraagd.
  • Het wachtwoord wordt NIET getoont op het scherm als de wordt ingetypt, zelfs geen sterretjes (******) ofzo.

sudo

Om sudo in een terminalvenster te gebruiken type sudo voor de werkelijke opdracht :

Voorbeeld 1

sudo chown naam:naam /home/naam/*

Voorbeeld 2

sudo /etc/init.d/networking restart

Om een opdracht te herhalen, maar dan met sudo:

sudo !!

Grafisch sudo

Gebruik nooit sudo om de grafische desktop (X server) te starten. Gebruik gksudo (of kdesudo op Kubuntu) om een programma uit te voeren als supergebruiker, root.

De toetscombinatie Alt-F2 kan gebruikt worden om in de grafische desktop een (gksudo) programma te starten.

De gksudo opdracht vraagt om het wachtwoord, stelt HOME=~root in en kopieerd .Xauthority naar een tijdelijke map. Hierdoor wordt voorkomen dat er bestanden in de Persoonlijke map worden gemaakt waarvan root de eigenaar is.

Voorbeeld:

gksudo gedit /etc/fstab

of

kdesudo kate /etc/X11/xorg.conf
  • Om via de grafische desktop een beheer programma te starten kan gebruik worden gemaakt van het menu Systeem → Beheer.
  • De opdrachten gksudo en kdesudo verwijzen naar de opdrachten gksu en kdesu.

tip: Drag & Drop sudo

Maak een aangepaste toepassingsstarter met de volgende opdracht:

gksudo "gnome-open %u"

Als een bestand met "drag & drop" naar deze toepassingsstarter wordt gesleept en losgelaten wordt deze als supergebruiker, root, uitgevoerd of geopend met de bijbehorende toepassing. Dit kan handig zijn voor het aanpassen van configuratie bestanden. Deze worden dan standaard geopend met gedit.

Gebruikers

Sta andere gebruikers toe om sudo te gebruiken

Om een andere gebruiker ook het recht te geven sudo te gebruiken moet deze lid zijn van de gebruikersgroep admin.

Gebruik SysteemBeheerGebruikers en groepen. Kies Ontgredelen (en type het wachtwoord in). Kies Eigenschappen en dan het tabblad Gebruikersrechten. Plaats een vinkje bij "Mag het systeem beheren".

In een terminalvenster kan dit gedaan worden met een opdracht (vervang "naam" door de gebruikersnaam).

sudo adduser naam admin

Gebruik sudo met een andere gebruikersnaam

Gebruik dit NIET om root te gebruiken.

sudo -i -u andere_naam

Om bijvoorbeeld gebruiker amanda te worden:

sudo -i -u amanda

Het wachtvoor wat wordt gevraagd is het eigen wachtwoord, niet van amanda.

Gebruiker root

Activeer de gebruiker root

Waarschuwing Het is zelden nodig de root gebruiker te activeren. De rechten van de root gebruiker zijn te gebruiken met sudo of gksudo. Eventueel kan in een terminalscherm als root gebruiker worden gewerkt met de opdracht sudo -i.

Om de root gebruiker te activeren moet hiervoor een wachtwoord worden ingesteld:

sudo passwd root

Info <!> Het activeren van de gebruiker root wordt AFGERADEN en is op eigen risico!

Info <!> De grafiche omgeving (X server) starten als gebruiker root kan leiden tot ernstige problemen.

Uitschakelen gebruiker root

Als om enige reden de gebruiker root is geactiveerd met een wachtwoord kan deze toegang weer worden uitgeschakeld met de terminalopdracht:

sudo usermod -p '!' root

Overige informatie

Misvattingen

  • Is sudo minder veilig dan su?

    • In de basis zijn sudo en su hetzelfde met dezelfde zwakheden. Of nu su of sudo gebruikt wordt, in alle gevallen moet de gebruiker weten dat hij de rechten van de supergebruiker heeft met de bijbehorende risico's. Wie het wachtwoord van de gebruiker kent heeft met sudo ook alle rechten op de computer. Het is dus van belang dat het wachtwoord strikt geheim gehouden wordt, vergelijkbaar met een root wachtwoord bij su. Door sudo worden gebruikers aangespoord zo vaak mogelijk te werken zonder de extra beheer rechten en niet te snel als root gebruiker te gaan werken met een su opdracht. Per definitie komt dit de veiligheid ten goede.
  • Met een console terminalscherm (Ctrl-Alt-F1 enz.) kan ik de supergebruiker,root gebruiken zonder wachtwoord!

    • Er is nog steeds een gebruikerswachtwoord nodig! Maar als er fysieke toegang is tot de computer zijn er wel mogelijkheden om meer rechten te krijgen. Bijvoorbeeld door de computer anders op te starten. Hiertegen zijn aanvullende maatregelen nodig (bijvoorbeeld: een grub wachtwoord of een BIOS wachtwoord). Merk op dat wie fysieke toegang heeft veel mogelijkheden heeft om beveiligingsmaatregelen te omzeilen, zoals het overplaatsen van de harde schijf in een andere computer.

Vraag om het sudo wachtwoord

Als een wachtwoord voor sudo wordt gegeven blijft dit 15 minuten geldig. Om bij een volgende keer altijd (dus ook binnen deze 15 minuten) weer om het wachtwoord te vragen kan de volgende opdracht worden gebruikt:

sudo -k

Meer bronnen


CategoryWerkenMetUbuntu

community/Sudo (laatst bewerkt op 2018-06-18 19:55:31 door testcees)