Slik legger du til en bruker i Sudoers-filen i Mac OS X
Innholdsfortegnelse:
Avanserte brukere må kanskje legge til en brukerkonto i sudoers-filen, som lar den brukeren kjøre visse kommandoer med root-privilegier.
For å forenkle hva det betyr, vil disse nylig privilegerte brukerkontoene da kunne utføre kommandoer uten å få tillatelse nektet feil eller å måtte prefiksere en terminalkommando med sudo. Dette kan være nyttig (eller nødvendig) for noen komplekse situasjoner, men det utgjør en sikkerhetsrisiko for andre, så dette er ikke noe som bør endres tilfeldig.
Generelt sett er de fleste brukere bedre av å bruke en adminkonto, bruke sudo på en kommandobasis, eller aktivere root-brukeren. Likevel har direkte modifisering av sudoers mange brukssituasjoner for avanserte personer med inngående kunnskap om kommandolinjen, og det er for de mer komplekse situasjonene vi vil fokusere på å justere sudoers-filen som beskrevet her.
Sudoers-filen ligger på /etc/sudoers, men i motsetning til /etc/hosts og mange andre systemkonfigurasjonsfiler, vil du ikke peke en generell tekstredigerer mot filen for å endre den. I stedet vil du bruke en spesifikk kommando k alt 'visudo', som bekrefter riktig syntaks før du lagrer dokumentet.
Viktig: Justering av sudoers er ikke beregnet på de fleste Mac OS X-brukere. Bare avanserte brukere som har en tvingende grunn til å gjøre det, bør noen gang endre sudoers-filen. Hvis du ikke vet hva du gjør og hvorfor du gjør det, ikke rediger sudoers-filen, og ikke legg til noen brukere i sudoers-filen.Det kan utgjøre en sikkerhetsrisiko, eller du kan ødelegge noe.
Legg til en bruker til Sudoers i Mac OS X
Å legge til brukere til sudoers krever bruk av vi, noe som kan være ganske forvirrende hvis du ikke er vant til det. For de ukjente vil vi skissere de nøyaktige tastekommandosekvensene for å redigere, sette inn og lagre filen i vi, følg instruksjonene nøye.
- Start Terminal og skriv inn følgende kommando:
- Bruk piltastene for å navigere ned til delen «Brukerrettighetsspesifikasjon», den skal se slik ut:
- Plasser markøren på neste tomme linje under %admin-oppføringen og trykk deretter på “A”-tasten for å sette inn tekst, og skriv deretter følgende på en ny linje, og erstatt 'brukernavn' med brukerens korte navn på kontoen du ønsker å gi privilegier til (trykk fanen mellom brukernavn og ALL):
- Trykk nå "ESC" (escape)-tasten for å slutte å redigere filen
- Trykk :-tasten (kolon) og skriv deretter "wq" etterfulgt av Return-tasten for å lagre endringer og avslutte vi
sudo visudo
Brukerrettighetsspesifikasjon root ALL=(ALLE) ALL %admin ALL=(ALL) ALL
brukernavn ALL=(ALLE) ALL
Dette er omtrent slik det skal se ut, eksempelskjermbildet viser brukernavnet «osxdaily» lagt til:
Du burde være god å gå, du kan katte sudoers-filen for å være sikker på at filen ble endret:
cat /etc/sudoers
Bruk cat med grep for å finne brukernavnet raskt hvis du ikke vil skanne gjennom hele filen:
cat /etc/sudoers | grep brukernavn
Nå som ‘brukernavn’ er lagt til i sudoers-filen bør du være klar.
Løser en "/etc/sudoers opptatt, prøv igjen senere"-feil
Hvis du prøver å endre sudoers og får en 'visudo: /etc/sudoers busy, try again later'-feil, betyr det vanligvis at filen allerede er åpnet, enten av en annen bruker, eller av ulykke, eller ved feil lukking av visudo. Hvis du er på en flerbrukermaskin, sørg for å sjekke med andre brukere før du gjør noe mer, men generelt bør dette ikke skje ofte på en enkeltbrukermaskin. Det er viktig å skille mellom de to, fordi hvis du skruer opp sudoers-filen, kan du være inne for en verden av frustrasjon, problemer og eventuell gjenoppretting av OS (eller sudoers-fil) fra sikkerhetskopier, hvor løsningen ligger utenfor rammen av denne artikkelen .
På enkeltbruker-Macer kan denne "sudoers busy"-feilen oppstå etter å ha avsluttet Terminal-appen uten å avslutte vi, eller hvis Terminal eller Mac OS X krasjet, eller hvis filen for øyeblikket er åpen i en annen økt. Løsningen for sistnevnte beskrevne engangsmaskintilfeller er ganske enkel, og du kan løse feilen ved å fjerne sudoers midlertidige fil som fungerer som en lås:
sudo rm /etc/sudoers.tmp
Du vil bare gjøre det hvis du er sikker på at en annen bruker (eller deg selv) ikke aktivt endrer filen, verken lok alt eller eksternt. Siden justering av sudoers generelt er ganske avansert, antar vi at du vet hva du gjør her, men hvis du ikke kan spore opp hva eller hvorfor sudoers er åpen, kan du prøve å bruke dtrace eller opensnoop for å overvåke filbruken.