Een gebruiker toevoegen aan het Sudoers-bestand in Mac OS X
Inhoudsopgave:
Gevorderde gebruikers moeten mogelijk een gebruikersaccount toevoegen aan het sudoers-bestand, waardoor die gebruiker bepaalde opdrachten kan uitvoeren met rootprivileges.
Om wat dat betekent sterk te vereenvoudigen, zullen deze nieuwe bevoorrechte gebruikersaccounts dan in staat zijn om commando's uit te voeren zonder toestemming geweigerde fouten te krijgen of een terminalcommando te moeten prefixen met sudo. Dit kan nuttig (of noodzakelijk) zijn voor sommige complexe situaties, maar het vormt een beveiligingsrisico voor andere, dus dit is niet iets dat terloops moet worden gewijzigd.
Over het algemeen kunnen de meeste gebruikers beter een beheerdersaccount gebruiken, sudo per opdracht gebruiken of de rootgebruiker inschakelen. Desalniettemin heeft het rechtstreeks aanpassen van sudoers tal van gebruikssituaties voor gevorderde personen met diepgaande kennis van de opdrachtregel, en het is voor die meer complexe situaties dat we ons zullen concentreren op het aanpassen van het sudoers-bestand zoals hier beschreven.
Het sudoers-bestand bevindt zich in /etc/sudoers maar, in tegenstelling tot /etc/hosts en vele andere systeemconfiguratiebestanden, wil je geen algemene teksteditor naar het bestand laten wijzen om het te wijzigen. In plaats daarvan kun je beter een specifieke opdracht genaamd 'visudo' gebruiken, die de juiste syntaxis bevestigt voordat je het document opslaat.
Belangrijk: Het aanpassen van sudoers is niet bedoeld voor de meeste Mac OS X-gebruikers. Alleen geavanceerde gebruikers die een dwingende reden hebben om dit te doen, mogen het sudoers-bestand wijzigen. Als u niet weet wat u doet en waarom u het doet, bewerk het sudoers-bestand dan niet en voeg geen gebruikers toe aan het sudoers-bestand.Het kan een beveiligingsrisico vormen, of u kunt iets breken.
Voeg een gebruiker toe aan Sudoers in Mac OS X
Het toevoegen van gebruikers aan de sudoers vereist het gebruik van vi, wat nogal verwarrend kan zijn als je er niet aan gewend bent. Voor wie niet vertrouwd is, schetsen we de exacte toetscommandoreeksen om het bestand in vi te bewerken, in te voegen en op te slaan, volg de instructies zorgvuldig.
- Start Terminal en typ de volgende opdracht:
- Gebruik de pijltjestoetsen om omlaag te navigeren naar het gedeelte "Gebruikersprivilegespecificatie", het zou er zo uit moeten zien:
- Plaats de cursor op de volgende lege regel onder het %admin-item en druk vervolgens op de toets "A" om tekst in te voegen, typ vervolgens het volgende op een nieuwe regel en vervang 'gebruikersnaam' door de afkorting van de gebruiker naam van het account waaraan u privileges wilt verlenen (tabblad tussen gebruikersnaam en ALL):
- Druk nu op de "ESC"-toets (escape) om te stoppen met het bewerken van het bestand
- Druk op de :-toets (dubbele punt) en typ vervolgens “wq” gevolgd door de Return-toets om de wijzigingen op te slaan en vi af te sluiten
sudo visudo
Specificatie gebruikersrechten root ALL=(ALL) ALL %admin ALL=(ALL) ALL
gebruikersnaam ALL=(ALL) ALL
Dit is ongeveer hoe het eruit zou moeten zien, de voorbeeldscreenshot toont de gebruikersnaam 'osxdaily' toegevoegd:
Je zou goed moeten zijn om te gaan, je kunt het sudoers-bestand bekijken om er zeker van te zijn dat het bestand is gewijzigd:
cat /etc/sudoers
Gebruik cat met grep om de gebruikersnaam snel te vinden als je niet het hele bestand wilt doorzoeken:
cat /etc/sudoers | grep gebruikersnaam
Nu 'gebruikersnaam' is toegevoegd aan het sudoers-bestand, zou het goed moeten zijn om te gaan.
Oplossen van een "/etc/sudoers bezig, probeer het later opnieuw" fout
Als je sudoers probeert aan te passen en de foutmelding 'visudo: /etc/sudoers bezet, probeer het later opnieuw' krijgt, betekent dit meestal dat het bestand al is geopend, hetzij door een andere gebruiker, hetzij door ongeluk, of door visudo niet goed te sluiten. Als u op een computer met meerdere gebruikers werkt, controleer dan eerst met andere gebruikers voordat u verder gaat, maar over het algemeen zou dit niet vaak moeten gebeuren op een computer met één gebruiker. Het is belangrijk om de twee te onderscheiden, want als je het sudoers-bestand verknoeit, kun je een wereld van frustratie, problemen en uiteindelijk herstel van het besturingssysteem (of sudoers-bestand) van back-ups tegemoet gaan, waarvan het oplossen buiten het bestek van dit artikel v alt. .
Op Macs met één gebruiker kan die "sudoers bezig"-fout optreden na het afsluiten van de Terminal-app zonder vi af te sluiten, of als de Terminal of Mac OS X is gecrasht, of als het bestand momenteel is geopend in een andere sessie. De oplossing voor de laatst beschreven machinegevallen voor eenmalig gebruik is vrij eenvoudig en u kunt de fout oplossen door het tijdelijke bestand sudoers te verwijderen dat als slot dient:
sudo rm /etc/sudoers.tmp
U wilt dit alleen doen als u zeker weet dat een andere gebruiker (of uzelf) het bestand niet actief aan het wijzigen is, lokaal of op afstand. Aangezien het aanpassen van sudoers over het algemeen redelijk geavanceerd is, gaan we ervan uit dat je weet wat je hier doet, maar als je niet kunt achterhalen wat of waarom sudoers open is, kun je proberen dtrace of opensnoop te gebruiken om het bestandsgebruik te controleren.