Linux-systeem is veel veiliger dan een van zijn tegenhangers. Een manier om beveiliging in Linux te implementeren is het gebruikersbeheerbeleid en de gebruikersmachtigingen, waarbij normale gebruikers niet gemachtigd zijn om systeemhandelingen uit te voeren.
Als een normale gebruiker wijzigingen op systeemniveau moet uitvoeren, moet hij het commando ‘‘su‘ of ‘sudo‘ gebruiken.

OPMERKING – Dit artikel is meer van toepassing op op Ubuntu gebaseerde distributies, maar is ook van toepassing op de meeste populaire Linux-distributies.
‘su’ versus ‘sudo’
‘su‘ dwingt je om je rootwachtwoord te delen met andere gebruikers, terwijl ‘sudo‘ het mogelijk maakt systeemcommando’s uit te voeren zonder root-wachtwoord. ‘sudo‘ stelt je in staat je eigen wachtwoord te gebruiken om systeemcommando’s uit te voeren, dus taken delegeren zonder root-wachtwoord.
Wat is ‘sudo’?
‘sudo‘ is een root-binair setuid, dat rootcommando’s namens gemachtigde gebruikers uitvoert en de gebruikers moeten hun eigen wachtwoord invoeren om het systeemcommando uit te voeren gevolgd door ‘sudo‘.
Wie kan ‘sudo’ uitvoeren?
We kunnen ‘/usr/sbin/visudo‘ uitvoeren om de lijst van gebruikers toe te voegen/verwijderen die ‘sudo‘ kunnen uitvoeren.
$ sudo /usr/sbin/visudo
A screen shot of ‘/usr/sbin/visudo‘ file, looks something like this:
De sudo lijst ziet er standaard uit als de onderstaande string:
root ALL=(ALL) ALL
Let op: U moet root zijn om het /usr/sbin/visudo bestand te bewerken.
Toegang verlenen tot sudo
In vele situaties vinden Systeembeheerders, met name degenen die nieuw zijn in het vak, de string “root ALL=(ALL) ALL” als een sjabloon en verlenen onbeperkte toegang aan anderen wat potentieel zeer schadelijk kan zijn.
Het bewerken van het ‘/usr/sbin/visudo’ bestand naar iets zoals het onderstaande patroon kan echt zeer gevaarlijk zijn, tenzij u volledig vertrouwen hebt in alle genoemde gebruikers.
root ALL=(ALL) ALL adam ALL=(ALL) ALL tom ALL=(ALL) ALL mark ALL=(ALL) ALL
Parameters van sudo
A properly configured ‘sudo‘ is very flexible and number of commands that needs to be run may be precisely configured.
De syntaxis van geconfigureerde ‘sudo‘ regel is:
User_name Machine_name=(Effective_user) command
De bovenstaande syntaxis kan worden verdeeld in vier delen:
- Gebruikersnaam: Dit is de naam van de ‘sudo‘ gebruiker.
- Machine-naam: Dit is de hostnaam waarin het ‘sudo‘ commando geldig is. Handig wanneer u veel hostmachines hebt.
- (Effectieve gebruiker): De ‘Effectieve gebruiker’ die is toegestaan om de opdrachten uit te voeren. Deze kolom stelt u in staat gebruikers toe te staan System Commands uit te voeren.
- Commando: opdracht of een reeks opdrachten die de gebruiker mag uitvoeren.
Aanbevolen Lezen: 10 Handige Sudoers-configuraties voor het instellen van ‘sudo’ in Linux
Enkele situaties en hun overeenkomstige ‘sudo‘ lijn:
Q1. Je hebt een gebruiker mark die een Databasebeheerder is. Je moet hem alle toegang geven op de Database Server (beta.database_server.com) alleen, en niet op enige andere host.
Voor de bovenstaande situatie kan de ‘sudo‘ regel als volgt worden geschreven:
mark beta.database_server.com=(ALL) ALL
Q2. Je hebt een gebruiker ‘tom‘ die systeemcommando’s moet uitvoeren als een andere gebruiker dan root op dezelfde Database Server, zoals hierboven uitgelegd.
Voor de bovenstaande situatie kan de ‘sudo‘ regel als volgt worden geschreven:
mark beta.database_server.com=(tom) ALL
Q3. Je hebt een sudo-gebruiker ‘cat‘ die alleen het commando ‘dog‘ mag uitvoeren.
Om de bovenstaande situatie te implementeren, kunnen we ‘sudo’ als volgt schrijven:
mark beta.database_server.com=(cat) dog
Q4. Wat als de gebruiker toestemming moet krijgen voor meerdere commando’s?
Als het aantal commando’s dat de gebruiker mag uitvoeren minder is dan 10, kunnen we alle commando’s naast elkaar plaatsen, met witruimte ertussen, zoals hieronder weergegeven:
mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...
Als deze lijst van opdrachten varieert in bereik, waar het letterlijk niet mogelijk is om elke opdracht handmatig in te typen, moeten we aliassen gebruiken. Aliassen! Ja, de Linux-tool waar een lang-verkorte opdracht of een lijst van opdrachten kan worden aangeduid met een kleine en eenvoudige trefwoord.
A few alias Examples, which can be used in place of entry in ‘sudo‘ configuration file.
User_Alias ADMINS=tom,jerry,adam user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top
Het is mogelijk om een Systeemgroep op te geven, in plaats van gebruikers, die bij die groep horen door simpelweg ‘%’ toe te voegen zoals hieronder:
%apacheadmin WEBSERVERS=(www) APACHE
V5. Hoe voer je een ‘sudo‘-opdracht uit zonder wachtwoord in te voeren?
We kunnen een ‘sudo‘-opdracht uitvoeren zonder wachtwoord in te voeren door de ‘NOPASSWD‘-vlag te gebruiken.
adam ALL=(ALL) NOPASSWD: PROCS
Hier kan gebruiker ‘adam‘ alle opdrachten uitvoeren die worden gealiasd onder “PROCS”, zonder wachtwoord in te voeren.
Aanbevolen Lezen: Laat Sudo Je Beledigen Als Je Het Verkeerde Wachtwoord Invoert
“sudo” biedt je een robuuste en veilige omgeving met veel flexibiliteit in vergelijking met ‘su‘. Bovendien is de configuratie van “sudo” eenvoudig. Sommige Linux-distributies hebben “sudo” standaard ingeschakeld, terwijl de meeste distributies van vandaag vereisen dat je het als een Beveiligingsmaatregel inschakelt.
Voeg een gebruiker (bob) toe aan sudo door de onderstaande opdracht als root uit te voeren.
adduser bob sudo
Dat is alles voor nu. Ik zal hier weer zijn met een ander interessant artikel. Tot dan, blijf afgestemd en verbonden met Tecmint. Vergeet niet om ons waardevolle feedback te geven in onze opmerkingensectie.
Source:
https://www.tecmint.com/su-vs-sudo-and-how-to-configure-sudo-in-linux/