Sådan tilføjes en bruger til Sudoers-filen i Mac OS X

Avancerede brugere skal muligvis tilføje en brugerkonto til sudoers-filen, som giver denne bruger mulighed for at køre visse kommandoer med root-rettigheder. For at forenkle det, der betyder det, vil disse nyligt privilegerede brugerkonti kunne udføre kommandoer uden at få tilladelse afvist fejl eller at skulle prefikse en terminalkommando med sudo. Dette kan være nyttigt (eller nødvendigt) for nogle komplekse situationer, men det udgør en sikkerhedsrisiko for andre. Derfor er det ikke noget, der skal ændres tilfældigt. Generelt er de fleste brugere bedre stillet ved at bruge en adminkonto, ved hjælp af sudo på pr. Kommandobasis eller aktivere rodbrugeren. Ikke desto mindre har direkte brug af sudoers masser af brugssituationer for avancerede personer med dybtgående kendskab til kommandolinjen, og det er for de mere komplekse situationer, at vi vil fokusere på at justere sudoers-filen som beskrevet her.

Sudoers-filen er placeret på / etc / sudoers, men i modsætning til / etc / hosts og mange andre systemkonfigurationsfiler ønsker du ikke at pege på en generel teksteditor på filen for at ændre den. I stedet vil du bruge en bestemt kommando kaldet visudo, som bekræfter korrekt syntaks, før du gemmer dokumentet.

Vigtigt: Justering af sudoers er ikke beregnet til de fleste OS X-brugere. Kun avancerede brugere, der har en overbevisende grund til at gøre det, bør altid ændre sudoers-filen. Hvis du ikke ved hvad du laver, og hvorfor du gør det, skal du ikke redigere sudoers-filen og ikke tilføje nogen brugere til sudoers-filen. Det kan udgøre en sikkerhedsrisiko, eller du kan bryde noget.

Tilføj en bruger til Sudoers i Mac OS X

Tilføjelse af brugere til sudoerne kræver brug af vi, hvilket kan være ret forvirrende, hvis du ikke er vant til det. For de ukendte, skitserer vi de nøjagtige nøglekommandosekvenser for at redigere, indsætte og gemme filen i vi, følg instruktionerne omhyggeligt.

  1. Start Terminal og skriv følgende kommando:
  2. sudo visudo

  3. Brug piletasterne til at navigere ned til afsnittet "#User privilegespecifikation". Det skal se sådan ud:
  4. # User privilege specification
    root ALL=(ALL) ALL
    %admin ALL=(ALL) ALL

  5. Sæt markøren på den næste tomme linje under% admin-indtastningen, og tryk derefter på "A" -tasten for at indsætte tekst, og indtast derefter følgende på en ny linje, og erstat 'brugernavn' med brugerens kortnavn på den konto, du ønsker at give privilegium til (hit faneblad mellem brugernavn og ALLE):
  6. username ALL=(ALL) ALL

  7. Klik nu på "ESC" (escape) -tasten for at stoppe redigering af filen
  8. Tryk på: tasten (kolon) og skriv derefter "wq" efterfulgt af Retur-tasten for at gemme ændringer og afslut vi

Dette er omtrent hvad det skal se ud, eksempelvis skærmbilledet viser brugernavn 'osxdaily' tilføjet:

Du bør være god at gå, du kan katte sudoers filen for at være sikker på filen blev ændret:

cat /etc/sudoers

Brug kat med grep til at finde brugernavnet hurtigt, hvis du ikke vil scanne gennem hele filen:

cat /etc/sudoers | grep username

Nu da 'brugernavn' er blevet tilføjet sudoers filen, skal du være god at gå.

Løsning af en "/ etc / sudoers optaget, prøv igen senere" fejl

Hvis du forsøger at ændre sudoers og få et visudo: / etc / sudoers travlt, prøv igen senere 'fejl, hvilket normalt betyder, at filen allerede er åbnet, enten af ​​en anden bruger eller ved et uheld eller ved uhensigtsmæssigt at lukke visudo. Hvis du er på en multi-user-maskine, skal du kontrollere med andre brugere, før du gør noget yderligere, men generelt bør det ikke ske ofte på en enkeltbruger maskine. Det er vigtigt at differentiere de to, fordi hvis du skruer op sudoers-filen, kan du komme ind i en verden med frustration, problemer og eventuelt genoprettelse af operativsystemet (eller sudoers-filen) fra sikkerhedskopier, hvoraf løsningen er uden for denne artikels anvendelsesområde .

På enkeltbruger-Mac'er kan denne "sudoers busy" -fejl ske efter at have sluttet ud af Terminal app uden at forlade vi, eller hvis Terminal eller OS X styrtede, eller hvis filen for øjeblikket er åben i en anden session. Løsningen til de sidstnævnte beskrevne engangsmaskinsager er ret simpel, og du kan løse fejlen ved at fjerne sudoers midlertidige fil, der fungerer som en lås:

sudo rm /etc/sudoers.tmp

Du vil kun gerne gøre det, hvis du er sikker på, at en anden bruger (eller dig selv) ikke ændrer filen aktivt lokalt eller eksternt. Da justering af sudoers er ret avanceret generelt antager vi, hvad du laver her, men hvis du ikke kan spore hvad eller hvorfor sudoers er åbne, kan du prøve at bruge dtrace eller opensnoop til at overvåge filanvendelsen.