Så här lägger du till en användare i Sudoers-filen i Mac OS X

Avancerade användare kan behöva lägga till ett användarkonto i sudoers-filen, vilket tillåter den användaren att köra vissa kommandon med root-behörigheter. För att i hög grad förenkla vad det betyder kommer dessa ny privilegierade användarkonton då att kunna utföra kommandon utan att få tillstånd att nekas fel eller måste prefixa ett terminalkommando med sudo. Detta kan vara till hjälp (eller nödvändigt) för vissa komplexa situationer, men det utgör en säkerhetsrisk för andra, så det här är inte något som bör ändras skiftligt. Generellt sett är de flesta användare bättre att använda ett administratörskonto, använder sudo på en kommandobas eller aktiverar root-användaren. Ändå har direkta modifierande sudoers många användningssituationer för avancerade personer med djup kännedom om kommandoraden, och det är för de mer komplexa situationer som vi kommer att fokusera på att justera sudoers-filen som beskrivs här.

Sudoersfilen är lokaliserad på / etc / sudoers men, till skillnad från / etc / hosts och många andra systemkonfigurationsfiler, vill du inte peka på en allmän textredigerare i filen för att ändra den. I stället vill du använda ett specifikt kommando som heter visudo, vilket bekräftar korrekt syntax innan du sparar dokumentet.

Viktigt: Justering av sudoers är inte avsett för de flesta OS X-användare. Endast avancerade användare som har en tvingande anledning att göra det borde någonsin ändra sudoers-filen. Om du inte vet vad du gör och varför du gör det, redigera inte sudoers-filen och lägg inte till några användare i sudoers-filen. Det kan innebära en säkerhetsrisk, eller du kan bryta något.

Lägg till en användare till Sudoers i Mac OS X

Att lägga till användare till sudoerna kräver användningen av vi, vilket kan vara ganska förvirrande om du inte är van vid den. För den obekanta, skisserar vi de exakta nyckelkommandonsekvenserna för att redigera, infoga och spara filen i vi, följ instruktionerna noggrant.

  1. Starta terminal och skriv följande kommando:
  2. sudo visudo

  3. Använd piltangenterna för att navigera ner till avsnittet #UserUser Specification, så det ska se ut så här:
  4. # User privilege specification
    root ALL=(ALL) ALL
    %admin ALL=(ALL) ALL

  5. Placera markören på nästa tomma rad under% admin-posten och tryck sedan på "A" -tangenten för att infoga text, skriv sedan följande på en ny linje, ersätt "användarnamn" med användarens kortnamn på det konto du vill ge privilegium att (slå fliken mellan användarnamn och ALL):
  6. username ALL=(ALL) ALL

  7. Klicka nu på "ESC" (escape) -knappen för att sluta redigera filen
  8. Tryck på: tangenten (kolon) och skriv sedan "wq" följt av Retur-tangenten för att spara ändringar och avsluta vi

Detta är ungefär vad det ska se ut, i exempel skärmbildet visas användarnamnet "osxdaily" tillagt:

Du borde vara bra att gå, du kan kata sudoers filen för att vara säker på filen ändrades:

cat /etc/sudoers

Använd katt med grep för att hitta användarnamnet snabbt om du inte vill skanna igenom hela filen:

cat /etc/sudoers | grep username

Nu när "användarnamn" har lagts till sudoersfilen bör du vara bra att gå.

Lösa en "/ etc / sudoers upptagen, försök igen senare" fel

Om du försöker ändra sudoers och få en visudo: / etc / sudoers upptagen, försök igen senare "fel, det betyder vanligtvis att filen redan har öppnats, antingen av en annan användare eller av misstag, eller genom att stänga visudo felaktigt. Om du är på en fleranvändarmaskin ska du kolla med andra användare innan du gör något längre, men i allmänhet bör detta inte hända ofta på en enda användarmaskin. Det är viktigt att skilja de två, eftersom om du skruvar upp sudoersfilen kan du komma in för en värld av frustration, problem och eventuell återställning av operativsystemet (eller sudoers-filen) från säkerhetskopior, av vilken upplösning ligger utanför ramen för denna artikel .

På enskilda användare kan det hända att "sudoers busy" -fel inträffar efter att du avslutat Terminal app utan att avsluta vi, eller om Terminal eller OS X kraschade eller om filen är öppen för en annan session. Lösningen för de senare beskrivna maskinerna för enanvändning är ganska enkel, och du kan lösa problemet genom att ta bort sudoers temporära fil som fungerar som ett lås:

sudo rm /etc/sudoers.tmp

Du vill bara göra det om du är säker på att en annan användare (eller dig själv) inte aktivt ändrar filen, antingen lokalt eller på distans. Eftersom justering av sudoers är ganska avancerad i allmänhet antar vi att du vet vad du gör här, men om du inte kan leta upp vad eller varför sudoers är öppna kan du försöka använda dtrace eller opensnoop för att övervaka filanvändningen.