Een gebruiker toevoegen aan het Sudoers-bestand in Mac OS X

Gevorderde gebruikers moeten mogelijk een gebruikersaccount toevoegen aan het sudoers-bestand, waardoor de gebruiker bepaalde opdrachten met rootprivileges kan uitvoeren. Om sterk te vereenvoudigen wat dat betekent, kunnen deze nieuw bevoorrechte gebruikersaccounts opdrachten uitvoeren zonder toestemming te krijgen voor het weigeren van fouten of om een ​​terminalopdracht met sudo te prefixen. Dit kan nuttig (of noodzakelijk) zijn voor sommige complexe situaties, maar het vormt een veiligheidsrisico voor anderen, dus dit is niet iets dat terloops moet worden gewijzigd. Over het algemeen zijn de meeste gebruikers beter af met het gebruik van een beheerdersaccount, het gebruik van sudo op basis van een commando of het inschakelen van de rootgebruiker. Niettemin, direct aanpassende sudoers heeft veel gebruikssituaties voor gevorderde personen met een grondige kennis van de commandoregel, en het is voor die meer complexe situaties dat we ons zullen richten op het aanpassen van het sudoers-bestand zoals hier beschreven.

Het sudoers-bestand bevindt zich op / etc / sudoers maar, in tegenstelling tot / etc / hosts en vele andere systeemconfiguratiebestanden, wil je geen algemene teksteditor in het bestand wijzen om het te wijzigen. In plaats daarvan wilt u een specifieke opdracht gebruiken met de naam 'visudo', die de juiste syntaxis bevestigt voordat het document wordt opgeslagen.

Belangrijk: het aanpassen van sudoers is niet bedoeld voor de meeste OS X-gebruikers. Alleen geavanceerde gebruikers die een dwingende reden hebben om dit te doen, moeten het sudoers-bestand ooit wijzigen. Als je niet weet wat je doet en waarom je het doet, bewerk dan het sudoers-bestand niet en voeg geen gebruikers toe aan het sudoers-bestand. Dit kan een veiligheidsrisico vormen, of u kunt iets breken.

Voeg een gebruiker toe aan Sudoers in Mac OS X

Gebruikers toevoegen aan de sudoers vereist het gebruik van vi, wat nogal verwarrend kan zijn als je er niet aan gewend bent. Voor de onbekende, zullen we de exacte belangrijkste commandosequenties schetsen om het bestand in vi te bewerken, in te voegen en op te slaan, volg de instructies zorgvuldig.

  1. Start Terminal en typ de volgende opdracht:
  2. sudo visudo

  3. Gebruik de pijltjestoetsen om naar de "# Gebruikersspecificatie" sectie te gaan, het zou er als volgt uit moeten zien:
  4. # User privilege specification
    root ALL=(ALL) ALL
    %admin ALL=(ALL) ALL

  5. Plaats de cursor op de volgende lege regel onder het% admin-item en druk vervolgens op de "A" -toets om tekst in te voegen, typ vervolgens het volgende op een nieuwe regel en vervang 'gebruikersnaam' door de gebruikerskortnaam van het account dat u wilt toekennen privilege om (druk op het tabblad tussen gebruikersnaam en ALL):
  6. username ALL=(ALL) ALL

  7. Druk nu op de "ESC" (escape) -toets om het bewerken van het bestand te stoppen
  8. Druk op de: -toets (dubbele punt) en typ vervolgens "wq" gevolgd door de Return-toets om de wijzigingen op te slaan en vi te verlaten

Dit is ongeveer hoe het eruit zou moeten zien, het voorbeeldscherm toont de gebruikersnaam 'osxdaily' toegevoegd:

Je moet goed zijn om te gaan, je kunt het sudoers-bestand kateren om er zeker van te zijn dat het bestand is aangepast:

cat /etc/sudoers

Gebruik kat met grep om de gebruikersnaam snel te vinden als u niet door het hele bestand wilt scannen:

cat /etc/sudoers | grep username

Nu die 'gebruikersnaam' is toegevoegd aan het sudoers-bestand, zou je goed moeten zijn om te gaan.

Het oplossen van een "/ etc / sudoers busy, probeer het later opnieuw" fout

Als u sudoers probeert te wijzigen en een 'visudo: / etc / sudoers busy, try again later'-foutmelding krijgt, betekent dit meestal dat het bestand al is geopend, hetzij door een andere gebruiker, hetzij per ongeluk, of door visudo verkeerd te sluiten. Als u op een machine met meerdere gebruikers bent, moet u eerst met andere gebruikers overleggen voordat u verder gaat, maar over het algemeen zou dit niet vaak op een enkele gebruikerscomputer moeten gebeuren. 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 OS (of sudoers-bestand) van back-ups krijgen, waarvan het oplossen buiten het bestek van dit artikel valt. .

Op Macs met één gebruiker kan die "sudoers busy" -fout optreden na het afsluiten van de Terminal-app zonder vi te verlaten, of als de Terminal of OS X is gecrasht of als het bestand momenteel in een andere sessie is geopend. De oplossing voor de laatst beschreven machinehoezen voor eenmalig gebruik is redelijk 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 wijzigt, noch lokaal noch op afstand. Omdat het aanpassen van sudoers over het algemeen vrij 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 dtrace of opensnoop gebruiken om het bestandsgebruik te controleren.