Zoals de meeste dingen op Linux, is het sudo-commando zeer configureerbaar. U kunt sudo specifieke opdrachten laten uitvoeren zonder om een wachtwoord te vragen, specifieke gebruikers beperken tot alleen goedgekeurde opdrachten, logopdrachten laten uitvoeren met sudo en meer.
Het gedrag van de sudo-opdracht wordt bepaald door het bestand / etc / sudoers op uw systeem. Deze opdracht moet worden bewerkt met de visudo-opdracht, die de syntaxis controleert om ervoor te zorgen dat u het bestand niet per ongeluk breekt.
Specificeer gebruikers met Sudo-machtigingen
Het gebruikersaccount dat u aanmaakt tijdens het installeren van Ubuntu is gemarkeerd als een Administrator-account, wat betekent dat het sudo kan gebruiken. Alle extra gebruikersaccounts die u na de installatie aanmaakt, kunnen beheerders- of standaardgebruikersaccounts zijn - standaardgebruikersaccounts hebben geen sudo-machtigingen.
U kunt typen gebruikersaccounts grafisch beheren via de tool Gebruikersaccounts van Ubuntu. Om het te openen, klikt u op uw gebruikersnaam in het paneel en selecteert u Gebruikersaccounts of zoekt u naar Gebruikersaccounts in het streepje.
Laat Sudo uw wachtwoord vergeten
Standaard onthoudt sudo uw wachtwoord gedurende 15 minuten nadat u het hebt getypt. Daarom hoef je je wachtwoord maar één keer in te voeren als je meerdere opdrachten snel achter elkaar uitvoert met sudo. Als u op het punt staat iemand anders uw computer te laten gebruiken en u wilt dat sudo om het wachtwoord vraagt wanneer het de volgende keer wordt uitgevoerd, voert u de volgende opdracht uit en sudo zal uw wachtwoord vergeten:
sudo –k
Vraag altijd om een wachtwoord
Als u liever elke keer dat u sudo gebruikt, hierom wordt gevraagd, bijvoorbeeld als andere mensen regelmatig toegang hebben tot uw computer, kunt u het onthouden van wachtwoorden volledig uitschakelen.
Deze instelling is, net als andere sudo-instellingen, opgenomen in het bestand / etc / sudoers. Voer het visudo-commando uit in een terminal om het bestand te openen voor bewerking:
sudo visudo
Ondanks zijn naam is dit commando standaard ingesteld op de nieuwe gebruiksvriendelijke nano-editor in plaats van de traditionele vi-editor op Ubuntu.
Voeg de volgende regel toe onder de andere Defaults-regels in het bestand:
Standaard timestamp_timeout = 0
Druk op Ctrl + O om het bestand op te slaan en druk vervolgens op Ctrl + X om Nano te sluiten. Sudo zal u nu altijd om een wachtwoord vragen.
Wijzig de time-out voor het wachtwoord
Om een andere time-out voor het wachtwoord in te stellen - ofwel een langere zoals 30 minuten of een kortere zoals 5 minuten - volgt u de bovenstaande stappen, maar gebruikt u een andere waarde voor timestamp_timeout. Het nummer komt overeen met het aantal minuten dat sudo uw wachtwoord onthoudt. Om sudo uw wachtwoord gedurende 5 minuten te laten onthouden, voegt u de volgende regel toe:
Standaard timestamp_timeout = 5
Vraag nooit om een wachtwoord
Je kunt sudo ook nooit om een wachtwoord laten vragen - zolang je bent aangemeld, wordt elke opdracht die je voorvoegsel met sudo gebruikt, uitgevoerd met rootrechten. Om dit te doen, voegt u de volgende regel toe aan uw sudoers-bestand, waarbij gebruikersnaam uw gebruikersnaam is:
gebruikersnaam ALL = (ALL) NOPASSWD: ALL
U kunt ook de regel% sudo wijzigen - dat wil zeggen de regel waarmee alle gebruikers in de sudo-groep (ook bekend als Administrator-gebruikers) sudo kunnen gebruiken - zodat alle Administrator-gebruikers geen wachtwoorden nodig hebben:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Voer specifieke opdrachten uit zonder wachtwoord
U kunt ook specifieke opdrachten specificeren die nooit een wachtwoord vereisen wanneer ze worden uitgevoerd met sudo. In plaats van “ALL” te gebruiken na NOPASSWD hierboven, specificeert u de locatie van de commando's. Met de volgende regel kan uw gebruikersaccount bijvoorbeeld de commando's apt-get en shutdown zonder wachtwoord uitvoeren.
gebruikersnaam ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Dit kan met name handig zijn bij het uitvoeren van specifieke opdrachten met sudo in een script.
Sta een gebruiker toe om alleen specifieke opdrachten uit te voeren
Hoewel u specifieke opdrachten op de zwarte lijst kunt zetten en kunt voorkomen dat gebruikers ze uitvoeren met sudo, is dit niet erg effectief. U kunt bijvoorbeeld specificeren dat een gebruikersaccount de afsluitopdracht met sudo niet kan uitvoeren. Maar dat gebruikersaccount zou de cp-opdracht met sudo kunnen uitvoeren, een kopie van de afsluitopdracht kunnen maken en het systeem kunnen afsluiten met behulp van de kopie.
Een effectievere manier is om specifieke opdrachten op de witte lijst te zetten. U kunt bijvoorbeeld een standaardgebruikersaccount toestemming geven om de opdrachten apt-get en shutdown te gebruiken, maar niet meer. Voeg hiervoor de volgende regel toe, waarbij standarduser de gebruikersnaam van de gebruiker is:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Het volgende commando zal ons vertellen welke commando's de gebruiker kan uitvoeren met sudo:
sudo -U standarduser –l
Sudo Access loggen
U kunt alle sudo-toegang loggen door de volgende regel toe te voegen. / var / log / sudo is slechts een voorbeeld; u kunt elke gewenste logbestandslocatie gebruiken.
Standaard logfile = / var / log / sudo
Bekijk de inhoud van het logbestand met een commando als dit:
sudo cat / var / log / sudo
Houd er rekening mee dat als een gebruiker onbeperkte sudo-toegang heeft, die gebruiker de mogelijkheid heeft om de inhoud van dit bestand te verwijderen of te wijzigen. Een gebruiker kan ook toegang krijgen tot een root-prompt met sudo en opdrachten uitvoeren die niet worden geregistreerd. De logging-functie is vooral handig in combinatie met gebruikersaccounts die beperkte toegang hebben tot een subset van systeemopdrachten.