I denne raske opplæringen vil vi se hvordan vi kan bruke chmod kommando i en Ubuntu-maskin for å finne, endre og fjerne brukertillatelser fra bestemte filer som finnes på brukerens filsystem. La oss spille gjennom forskjellige forhold slik at vi kan mestre grunnleggende chmod kommandoer som kan gjøre hverdagen vår enklere med Ubuntu.
Linux-tillatelser
Linux-tillatelser er et stort sett med regler som er enkle å forstå hvis vi tar oss grunnleggende rettigheter. De tre hovedpoengene vi må forstå for å vite hvordan Linux-tillatelser fungerer:
- Elementet som tillatelsene ble definert for
- Hvilke handlinger som kan utføres med tillatelse
- Hvem kan utføre hvilke handlinger
Det er to grunnleggende elementer i Linux Filesystem:
- Kataloger
- Filer
Det er tre handlinger som kan utføres:
- Lese
- Skrive
- Henrette. Bortsett fra å utføre skript, er det nødvendig med samme handlinger for å opprette filer og andre mapper i den
Bruker som kan utføre disse handlingene er:
- Eier av filen
- Gruppe av eieren av filen
- Bruker som ikke er tilknyttet eiergruppe eller eier selv
For å se tillatelser relatert til en fil, kjør følgende kommando:
ls -lHer er hva vi kommer tilbake med denne kommandoen:
Finn tillatelse for filer
I utgangen presenterer de første 10 tegnene tillatelsen til filen:
- Første tegn, som er '-' i dette tilfellet betyr at dette er en fil. For en katalog ville dette ha vært en 'd'.
- De neste ni tegnene representerer tillatelser for henholdsvis eieren, gruppen til eieren og andre.
Endring av tillatelser
Syntaks for å endre tillatelse til en fil ser ut som:
chmod tillatelsesfil [fil 2] ..Oktal representasjon for tillatelser
Vi kan presentere tillatelser som et oktalt tall. For å sette for eksempel lese-, skrive- og utføre tillatelser for eieren, lese- og skrivetillatelser for gruppen sin, og ingen tillatelse for andre, til hei.txt-fil, vil vi utføre følgende kommando:
sudo chmod 760 hei.tekstNår vi utfører kommandoen ovenfor og prøver å lese en fil med en ikke-eierkonto med følgende kommando:
sudo -u notowner-user mer hei.tekstVi får følgende feil:
Hallo.txt: Tillatelse nektetMen hvor kommer dette tallet fra? Hvert siffer i tallet representerer et sett med tillatelser. La oss se hvordan de ble avledet:
- 0: Betyr ingen tillatelse
- 1: Betegner henrette tillatelse
- 2: Betegner skrive tillatelse
- 4: Betegner lese tillatelse
For å tildele lese-, skrive- og utføre tillatelser til eieren, tildelte vi ham nummeret 7 (= 4 + 2 + 1). La oss forstå dette bedre i en sifretabell:
Nummer | Binær | Lese | Skrive | Henrette |
0 | 000 | NEI | NEI | NEI |
1 | 001 | NEI | NEI | JA |
2 | 010 | NEI | JA | NEI |
3 | 011 | NEI | JA | JA |
4 | 100 | JA | NEI | NEI |
5 | 101 | JA | NEI | JA |
6 | 110 | JA | JA | NEI |
7 | 111 | JA | JA | JA |
Ovenfor tabellen er mye tydelig i hva hver representerer når det gjelder filtillatelser.
Tegnrepresentasjon for tillatelser
Vi kan presentere tillatelser som et oktalt tall. For eksempel, for å sette lese-, skrive- og utføre tillatelser for eieren, lese- og skrivetillatelser for gruppen sin, og ingen tillatelse for andre, til hei.txt-fil, vil vi utføre følgende kommando:
sudo chmod u = rwe, g = rw, o-rwx hei.tekstFor å legge til tillatelser til en eksisterende bruker, kan vi også gjøre:
sudo chmod g + w hei.tekstHer ble skrivetillatelsen tildelt brukergruppen til eieren av filen.
Rekursive tillatelsesendringer
Vi kan også endre tillatelser for filer som finnes i en bestemt katalog med en enkelt kommando. For å endre tillatelsene til hver fil og mappe i en gitt katalog samtidig, bruk sudo chmod med -R:
sudo chmod 777 katalog / *Vi kan se følgende utdata som tydelig gjenspeiler endringen i filtillatelser:
Endrer rekordrett filtillatelser
Konklusjon
I denne leksjonen så vi på hvordan vi kan endre filtillatelser, og om nødvendig gjøre det rekursivt. Vi forsto grunnleggende konsepter bak hvordan Linux-tillatelser som kan hjelpe oss i vårt daglige arbeid mye.