• Vastliggende pagina
  • Info
  • Bijlages
Verschillen tussen versies 1 en 25 (omvat 24 versies)
Versie 1 sinds 2009-06-22 21:16:40
Grootte: 16659
Commentaar: Eerste begin van sudo vertaling.
Versie 25 sinds 2013-06-22 14:24:44
Grootte: 10513
Auteur: testcees
Commentaar:
Verwijderingen worden op deze manier gemarkeerd. Toevoegingen worden op deze manier gemarkeerd.
Regel 1: Regel 1:
<<Include(documentatie_topbar)>>

 . <<GeschiktVoor("ubuntu, kubuntu, xubuntu, server","12.04 LTS, 13.04")>>
Regel 2: Regel 6:
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. 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 het hele systeem vernietigd worden! Beperk het gebruik daarom, zoveel als mogelijk, tot het uitvoeren van een (1) specifieke taak. Bij uitzondering zijn de rechten van de !SuperGebruiker, Root, nodig, normaal voldoen de rechten van een gewone gebruiker.
Regel 4: Regel 8:
'''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. '''In Ubuntu is standaard de Root toegang geblokkeerd. Er is simpelweg ''geen'' Root wachtwoord''' dus kan er '''niet''' worden aangemeld als !SuperGebruiker Root of de opdracht {{{su}}} worden gebruikt. Maar de !SuperGebruiker, Root, bestaat wel en het is mogelijk om programma's uit tevoeren met Root rechten. Hiervoor wordt '''sudo''' gebruikt. Met sudo kunnen (gemachtigde) gebruikers bepaalde programma's als !SuperGebruiker Root draaien zonder het root wachtwoord te kennen. Door de Ubuntu installatieprocedure wordt de standaard de '''eerste gebruiker''' gemachtigd om sudo te gebruiken.
Regel 6: Regel 10:
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.
   
Door in een terminalvenster '''sudo''' te gebruiken '''vóór''' een opdracht wordt deze opdracht uitgevoerd als !SuperGebruiker Root en de bijbehorende rechten.Voor grafische programma's die root rechten vereisen, gebruikt u de grafische variant van sudo (''gksudo'', ''kdesudo''). Als sudo naar een wachtwoord vraagt, geef dan het normale '''gebruikerswachtwoord''', er is geen apart Root wachtwoord.
Regel 9: Regel 12:
(!) Bij het typen van het wachtwoord wordt NIETS getoond op het scherm.
Regel 10: Regel 14:
= Voordelen en nadelen = = 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 onthouden, die mogelijk weer wordt vergeten (of wordt opgeschreven met het risico op uitlekken).
 * 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 opdrachten (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 kunnen nauwkeurig 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 12: Regel 25:
== Voordelen van het gebruik van sudo == == Nadelen van het gebruik van sudo ==
Hoewel het gebruik van sudo, zeker voor een desktopcomputer, veel voordelen heeft zijn er ook een paar nadelen:
Regel 14: Regel 28:
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.
 * 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/bestand` worden gebruikt om de uitvoer aan het bestand toe te voegen of `ls | sudo tee /root/bestand` 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 30: Regel 31:
== Downsides of using sudo ==

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 wachtwoord 15 minuten lang onthouden. Daarna wordt opnieuw om het wachtwoord gevraagd.
 * Het wachtwoord wordt NIET getoond op het scherm als het wordt ingetypt, zelfs geen sterretjes (******) of zo.
Regel 48: Regel 36:
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}}} ''vóór'' de werkelijke opdracht :

''Voorbeeld 1''
Regel 51: Regel 41:
sudo chown bob:bob /home/bob/* sudo chown naam:naam /home/naam/*
Regel 53: Regel 43:
''Example #2'' ''Voorbeeld 2''
Regel 57: Regel 48:
Om een opdracht te herhalen, maar dan met sudo:
Regel 58: Regel 50:
To repeat the last command entered, except with sudo prepended to it, run:
Regel 61: Regel 52:
}}} }}}
== Grafisch sudo ==
 . /!\ Vanaf '''Ubuntu 13.04''' wordt hiervoor ''geen'' pakket ({{{gksu}}}) meer geïnstalleerd. Gebruik een terminalvenster om grafische programma's te starten.
 * Het is nog mogelijk zelf pakket [[apt://gksu|gksu]] te installeren.
 * Het is de bedoeling dat {{{gksu}}} op termijn wordt vervangen door {{{pkexec}}}.
 . (!) Sluit het terminalvenster niet af zolang het grafische programma actief is anders zal het grafische programma (geforceerd) stoppen.
Regel 63: Regel 59:
== 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}}}).
 . {{{
sudo -i
}}}
Er wordt om het wachtwoord gevraagd in het terminalvenster. Type het wachtwoord in (je ziet niet dat je iets intypt).
Regel 66: Regel 64:
Examples: Geef dan een opdracht (zonder {{{sudo}}} ervoor), bijvoorbeeld:

 . {{{
gedit /etc/fstab
}}}

of

 . {{{
nautilus
}}}

Sluit na het sluiten van het grafische programma het terminalvenster af:

 . {{{
exit
}}}

'''Ubuntu versies tot en met 12.04:'''

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 kopieert .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 95:
or of
Regel 74: Regel 100:
 * 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}}}
= Gebruikers =
== Sta andere gebruikers toe om sudo te gebruiken ==
Met ''Gebruikersaccount'' kunnen andere gebruikers mede-beheerder worden gemaakt zodat deze ook {{{sudo}}} kunnen gebruiken.
Regel 77: Regel 104:
== Drag & Drop sudo ==
This is a trick from the [[http://www.ubuntuforums.org/showthread.php?t=24008| this thread]] on the [[UbuntuForums| Ubuntu Forums]].
{{attachment:gebruikersaccount.png}}
Regel 80: Regel 106:
Create a [[HowToAddaLauncher|launcher]] with the following command: Klik eerst op '''ontgrendelen''' in de rechter bovenhoek om wijzigingen te kunnen maken. Er wordt dan om een beheerwachtwoord gevraagd.

Direct bij het aanmaken van een nieuwe gebruiker kan het account-type Beheerder worden gegeven en het account-type van bestaande gebruikers kan worden gewijzigd.

{{attachment:beheerdertoevoegen.png}}

Om een andere gebruiker ook het recht te geven '''sudo''' te gebruiken moet deze lid zijn van een speciale gebruikers'''groep'''.

In een terminalvenster kan dit (vanaf Precise Pangolin, 12.04) gedaan worden met een opdracht (vervang "naam" door de gebruikersnaam).
Regel 82: Regel 117:
gksudo "gnome-open %u"
}}}
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.

= Users =
== Allowing other users to run sudo ==

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'''.

## 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 <>).

== 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 -i -u <username>
sudo adduser naam sudo
Regel 101: Regel 120:
For example to become the user {{{amanda}}} for tape management purposes. == Gebruik sudo met een andere gebruikersnaam ==
'''Gebruik dit NIET om Root te worden.'''

{{{
sudo -i -u andere_naam
}}}
Om bijvoorbeeld gebruiker {{{amanda}}} te worden:
Regel 105: Regel 131:
Het wachtwoord dat wordt gevraagd is het '''eigen''' wachtwoord, '''''niet''''' van amanda.
Regel 106: Regel 133:
The password being asked for is your own, not amanda's.

== 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}}||
== Gebruiker root ==
=== Activeer de gebruiker root ===
{{{#!wiki caution
'''Waarschuwing'''
Het is eigenlijk nooit 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 volgende opdracht:
}}}
Regel 115: Regel 141:
}}} }}}
<!> ''' Het activeren van de gebruiker root wordt AFGERADEN en is op eigen risico! '''
Regel 117: Regel 144:
||{{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}}|| Gebruik een passwd opdracht om de gebruiker root te activeren door een wachtwoord te geven.
Regel 119: Regel 146:
To enable the root account (i.e. set a password) use: <!> Inloggen in de grafische omgeving 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:
Regel 121: Regel 152:
sudo passwd root sudo passwd -dl root
Regel 123: Regel 154:
## sudo passwd -dl root deletes the password and locks the account. It's the equivalent of 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.
Regel 124: Regel 160:
''' 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.
 * ''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 129: Regel 163:
## Ubuntu does not "encrypt the root password when you lock it". Please don't add untrue information. == 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 131: Regel 166:
## 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}}||
{{{
sudo usermod -p '!' root
}}}

## 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 :)

= Other Information =
== Misconceptions ==

 * ''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 169:
= Meer bronnen =
 * [[community/WerkenMetDeTerminal|Werken met de terminal]]
Regel 221: Regel 172:
The default sudo timeout length can be changed by following this article: [[RootSudoTimeout]]. Engelstalig:
Regel 223: Regel 174:
= 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
 * Dit is een vrije vertaling van de wiki pagina [[https://help.ubuntu.com/community/RootSudo|RootSudo]]
 * [[http://manpages.ubuntu.com/manpages/lucid/en/man8/sudo.8.html|sudo]] man page
 * [[http://manpages.ubuntu.com/manpages/lucid/en/man5/sudoers.5.html|sudoers file]] man page
 * [[http://ubuntuforums.org/showthread.php?t=716201|Ubuntu Forums policy]] on enabling the Root account
 * [[http://askubuntu.com/questions/284306/why-is-gksu-no-longer-installed-by-default-in-13-04/284717#284717|askubuntu.com/questions/284306/why-is-gksu-no-longer-installed-by-default-in-13-04]]
 * [[http://ubuntuforums.org/showthread.php?t=2138386&page=2&p=12625733#post12625733|Voorbeeld gebruik pkexec op Engelstalig Ubuntu forum]]

----
CategoryWerkenMetUbuntu CategoryVeiligheid

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 het hele systeem vernietigd worden! Beperk het gebruik daarom, zoveel als mogelijk, tot het uitvoeren van een (1) specifieke taak. Bij uitzondering zijn de rechten van de SuperGebruiker, Root, nodig, normaal voldoen de rechten van een gewone gebruiker.

In Ubuntu is standaard de Root toegang geblokkeerd. Er is simpelweg geen Root wachtwoord dus kan er niet worden aangemeld als SuperGebruiker Root of de opdracht su worden gebruikt. Maar de SuperGebruiker, Root, bestaat wel en het is mogelijk om programma's uit tevoeren met Root rechten. Hiervoor wordt sudo gebruikt. Met sudo kunnen (gemachtigde) gebruikers bepaalde programma's als SuperGebruiker Root draaien zonder het root wachtwoord te kennen. Door de Ubuntu installatieprocedure wordt de standaard de eerste gebruiker gemachtigd om sudo te gebruiken.

Door in een terminalvenster sudo te gebruiken vóór een opdracht wordt deze opdracht uitgevoerd als SuperGebruiker Root en de bijbehorende rechten.Voor grafische programma's die root rechten vereisen, gebruikt u de grafische variant van sudo (gksudo, kdesudo). Als sudo naar een wachtwoord vraagt, geef dan het normale gebruikerswachtwoord, er is geen apart Root wachtwoord.

Info (!) Bij het typen van het wachtwoord wordt NIETS getoond op het scherm.

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 onthouden, die mogelijk weer wordt vergeten (of wordt opgeschreven met het risico op uitlekken).
  • 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 opdrachten (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 kunnen nauwkeurig 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 desktopcomputer, 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/bestand worden gebruikt om de uitvoer aan het bestand toe te voegen of ls | sudo tee /root/bestand 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 wachtwoord 15 minuten lang onthouden. Daarna wordt opnieuw om het wachtwoord gevraagd.
  • Het wachtwoord wordt NIET getoond op het scherm als het wordt ingetypt, zelfs geen sterretjes (******) of zo.

sudo

Om sudo in een terminalvenster te gebruiken type sudo vóór 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

  • Warning /!\ Vanaf Ubuntu 13.04 wordt hiervoor geen pakket (gksu) meer geïnstalleerd. Gebruik een terminalvenster om grafische programma's te starten.

  • Het is nog mogelijk zelf pakket gksu te installeren.

  • Het is de bedoeling dat gksu op termijn wordt vervangen door pkexec.

  • Info (!) Sluit het terminalvenster niet af zolang het grafische programma actief is anders zal het grafische programma (geforceerd) stoppen.

  • sudo -i

Er wordt om het wachtwoord gevraagd in het terminalvenster. Type het wachtwoord in (je ziet niet dat je iets intypt).

Geef dan een opdracht (zonder sudo ervoor), bijvoorbeeld:

  • gedit /etc/fstab

of

  • nautilus

Sluit na het sluiten van het grafische programma het terminalvenster af:

  • exit

Ubuntu versies tot en met 12.04:

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 kopieert .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

Gebruikers

Sta andere gebruikers toe om sudo te gebruiken

Met Gebruikersaccount kunnen andere gebruikers mede-beheerder worden gemaakt zodat deze ook sudo kunnen gebruiken.

gebruikersaccount.png

Klik eerst op ontgrendelen in de rechter bovenhoek om wijzigingen te kunnen maken. Er wordt dan om een beheerwachtwoord gevraagd.

Direct bij het aanmaken van een nieuwe gebruiker kan het account-type Beheerder worden gegeven en het account-type van bestaande gebruikers kan worden gewijzigd.

beheerdertoevoegen.png

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

In een terminalvenster kan dit (vanaf Precise Pangolin, 12.04) gedaan worden met een opdracht (vervang "naam" door de gebruikersnaam).

sudo adduser naam sudo

Gebruik sudo met een andere gebruikersnaam

Gebruik dit NIET om Root te worden.

sudo -i -u andere_naam

Om bijvoorbeeld gebruiker amanda te worden:

sudo -i -u amanda

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

Gebruiker root

Activeer de gebruiker root

Waarschuwing Het is eigenlijk nooit 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 volgende opdracht:

sudo -i

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

Gebruik een passwd opdracht om de gebruiker root te activeren door een wachtwoord te geven.

Info <!> Inloggen in de grafische omgeving 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 passwd -dl 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

Engelstalig:


CategoryWerkenMetUbuntu CategoryVeiligheid

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