Sådan tilføjes en bruger til Sudoers-filen i Mac OS X
Indholdsfortegnelse:
Avancerede brugere skal muligvis tilføje en brugerkonto til sudoers-filen, som giver den pågældende bruger mulighed for at køre visse kommandoer med root-rettigheder.
For i høj grad at forenkle, hvad det betyder, vil disse nyligt privilegerede brugerkonti så være i stand til at udføre kommandoer uden at få tilladelse nægtet fejl eller at skulle præfikse en terminalkommando med sudo. Dette kan være nyttigt (eller nødvendigt) i nogle komplekse situationer, men det udgør en sikkerhedsrisiko for andre, så dette er ikke noget, der tilfældigt bør ændres.
Generelt set er de fleste brugere bedre stillet ved at bruge en admin-konto, bruge sudo på en kommandobasis eller aktivere root-brugeren. Ikke desto mindre har direkte modificerende sudoers masser af brugssituationer for avancerede personer med indgående kendskab til kommandolinjen, og det er for de mere komplekse situationer, 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 en generel teksteditor mod filen for at ændre den. I stedet vil du bruge en specifik kommando kaldet 'visudo', som bekræfter korrekt syntaks, før du gemmer dokumentet.
Vigtigt: Justering af sudoers er ikke beregnet til de fleste Mac OS X-brugere. Kun avancerede brugere, der har en tvingende grund til at gøre det, bør nogensinde æ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 ødelægge noget.
Tilføj en bruger til Sudoers i Mac OS X
At tilføje 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.
- Start Terminal, og skriv følgende kommando:
- Brug piletasterne til at navigere ned til afsnittet "User privilege specification", det skulle se sådan ud:
- … navn på den konto, du ønsker at give privilegium til (tryk faneblad mellem brugernavn og ALLE):
- Tryk nu på "ESC" (escape)-tasten for at stoppe med at redigere filen
- Tryk på :-tasten (kolon), og skriv derefter "wq" efterfulgt af returtasten for at gemme ændringer og afslutte vi
sudo visudo
Brugerrettighedsspecifikation root ALL=(ALLE) ALL %admin ALL=(ALL) ALL
brugernavn ALLE=(ALLE) ALLE
Det er nogenlunde sådan det skal se ud, eksemplet på skærmbilledet viser brugernavnet 'osxdaily' tilføjet:
Du burde være god til at gå, du kan kat sudoers-filen for at være sikker på, at filen blev ændret:
cat /etc/sudoers
Brug kat med grep til hurtigt at finde brugernavnet, hvis du ikke vil scanne gennem hele filen:
cat /etc/sudoers | grep brugernavn
Nu hvor 'brugernavn' er blevet tilføjet til sudoers-filen, burde du være klar.
Løser en "/etc/sudoers optaget, prøv igen senere"-fejl
Hvis du forsøger at ændre sudoers og får en 'visudo: /etc/sudoers optaget, prøv igen senere' fejl, betyder det norm alt, at filen allerede er åbnet, enten af en anden bruger eller af uheld eller ved forkert lukning af visudo. Hvis du er på en flerbrugermaskine, skal du sørge for at tjekke med andre brugere, før du gør noget yderligere, men generelt bør dette ikke ske ofte på en enkeltbrugermaskine. Det er vigtigt at skelne mellem de to, fordi hvis du skruer op for sudoers-filen, kan du være i en verden af frustration, problemer og eventuel gendannelse af operativsystemet (eller sudoers-filen) fra sikkerhedskopier, hvoraf løsningen ligger uden for rammerne af denne artikel .
På enkeltbruger-Mac'er kan denne "sudoers busy"-fejl ske efter at have afsluttet Terminal-appen uden at afslutte vi, eller hvis Terminal eller Mac OS X gik ned, eller hvis filen i øjeblikket er åben i en anden session. Løsningen til de sidstnævnte beskrevne engangsmaskiner 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 gøre det, hvis du er sikker på, at en anden bruger (eller dig selv) ikke aktivt ændrer filen, hverken lok alt eller eksternt. Da justering af sudoers generelt er ret avanceret, antager vi, at du ved, hvad du laver her, men hvis du ikke kan spore, hvad eller hvorfor sudoers er åben, kan du prøve at bruge dtrace eller opensnoop til at overvåge filbrugen.