Sudo forklart

Hva du skal skape

Med ankomsten av OS X 10.11 El Capitan, motgangene til rotløse modusen ble ekte. Denne nye modusen er en sikkerhetsfunksjon ved å blokkere skriveren til alle systemstyrte områder på Mac-en. Det betyr at du bare kan redigere og endre ting i hjemmekatalogen.

For mange av oss er det et reelt problem. jeg elsker Hjemme brygget, men det setter alt i / Usr / local katalogen. På en frisk installasjon av El Capitan, den katalogen finnes ikke, og du kan ikke normalt lage den. 

På et oppgradert system som allerede har den katalogen, blir eieren rot (og alt i det!). Dette bryter helt Hjemme brygget med en Drift er ikke tillatt feilmelding. Verst av alt, hvis du fikser det, bryter den neste oppdateringen igjen. Systemet mitt har oppdatert El Capitan to ganger og hver gang jeg har måttet fikse det til riktig bruk Hjemme brygget.

Hvis du ikke er kjent med bruk av kommandolinjen og de mest brukte kommandoene, vennligst les Kommandolinjen er din beste venn opplæring først. Denne opplæringen gjør en god jobb med å forklare grunnleggende om å bruke kommandolinjen. 

Du kan også referere til Kommandolinjen for webdesign serier og kursene Hvordan være en Terminal Pro og Avanserte kommandolinje teknikker

Hvis du ikke er kjent med Hjemme brygget, vennligst les opplæringen Homebrew Demystified: OS Xs Ultimate Package Manager.

Sudokommandoen

De sudo kommandoen står for Superbruker DO. Det lar deg kjøre hvilken som helst annen terminalkommando som superbruker eller mer referert til som roten brukeren. Superbrukeren er den øverste sjefen på datamaskinen. Superbrukeren kan gjøre alt på datamaskinen for å fikse og ødelegge. 

Bruken av denne kommandoen kan være veldig farlig.

Denne kommandoen er i / Usr / bin katalogen. Du må først sikre at du har den katalogen i din bane. Kjør derfor denne kommandoen i terminalen:

env | grep "PATH"

I linjen som starter med PATH =, sjekk for banen / Usr / bin i kolon separert liste. Hvis det ikke er der, legg det til i ~ / .Bashrc fil for bash shell eller ~ / .Zshrc fil zsh for zsh-skallet:

eksporter PATH = "$ PATH: / usr / bin";

Nå kan du bruke sudo kommando. Noen kan tenke at dette er standard, men jeg har funnet noen systemer som mangler denne konfigurasjonen. Jeg feilsøker dataproblemer for mange mennesker og har sett / Usr / bin katalog mangler fra mange folks påloggingsskript.

For å bruke sudo kommando, skriver du kommandolinjen du vil utføre etter sudo med et mellomrom. 

For eksempel på festing Hjemme brygget, Du må endre eierskapet til katalogstrukturen til innloggingsnavnet. Hvis du ikke er sikker på hva systemet bruker for påloggingsnavnet, åpner du Terminal.app i hjemmekatalogen og skriv inn:

ls -ld .

De ls kommandoen vil Liste innholdet i en katalog. Flaggene -ld fortelle ls for å vise lang visning med filattributter (l), og bare katalogen (d). De . betyr gjeldende katalog. Dette bør gi en utgang tilsvarende denne:

drwxr-xr-x 132 raguay-ansatte 884 nov 6 14:11 .

De raguay er påloggingsnavnet på systemet mitt. Det vil være annerledes for deg og er navnet du må endre / Usr / local / eie.

Nå, for å fikse eierskapet til / Usr / local / katalog, må du bruke chown kommando. De chown kommandoen står for CHANGES EIER og det er det det gjør. På systemet mitt er kommandoen:

sudo chown -R raguay / usr / local

De -R flagg forteller chown å endre eierskapet rekursivt. Det betyr at hver fil og katalog i / Usr / local vil ha eierens endret til raguay. Du må endre brukernavnet for å gjenspeile systemet.


Fastsette eierskap av / usr / local

Over, kan du se feilmeldingen når du prøver å endre / Usr / local mappe eierskap uten å bruke sudo. Jeg brukte ikke -R flagg som det ville generere en feil for hver fil og katalog. Den neste kommandolinjen bruker sudo kommando. Kommandoen vil be om passordet ditt og deretter utføre handlingen uten feil.

Farene

Som jeg har sagt, gir dette deg mye strøm over systemet. Vær svært forsiktig, det kan føre til at systemet ikke kan brukes ved bruk av sudo kommando. For eksempel er kommandolinjen for å slette en fil rm for ReMove en fil. Hvis du skriver inn:

sudo rm -R /

Du vil slette alt på harddisken. Det vil bety at du må helt installere operativsystemet helt, alle programmer du hadde, og alle datafiler fra en sikkerhetskopi. Hvis du ikke har en backup, vel, er det bare helt borte.

Tilogmed chown kommando kan gjøre ting ubrukelig. Hvis du endrer eieren av alle filene i / Applicatons katalog til et navn som ikke eksisterer, vil du ikke kunne kjøre noen av programmene dine i den katalogen.

Vær derfor forsiktig med hvordan du bruker sudo kommando.

Konklusjon

Nå som du nå hvordan du fikser eierskapsproblemer på Mac, har du kunnskap for å fikse lignende problemer du måtte ha i fremtiden. Bare husk å bruke kommandoen veldig nøye og sjekk kommandoen du skriver før du oppgir passordet ditt. 

Når du er ferdig, kan det hende at det er vanskelig å nesten umulig uten å fullføre installasjonen av operativsystemet.