I denne hurtige vejledning vil vi se, hvordan vi kan bruge chmod kommando i en Ubuntu-maskine til at finde, ændre og fjerne brugertilladelser fra specifikke filer, der findes på brugerens filsystem. Lad os spille gennem forskellige forhold, så vi kan mestre grundlæggende chmod kommandoer, der kan gøre vores hverdag lettere med Ubuntu.
Linux-tilladelser
Linux-tilladelser er et stort sæt regler, som er enkle at forstå, hvis vi griber ind i de grundlæggende rettigheder. De tre hovedpunkter, som vi skal forstå for at vide, hvordan Linux-tilladelser fungerer:
- Det element, som tilladelserne blev defineret for
- Hvilke handlinger der kan udføres med tilladelse
- Hvem kan udføre hvilke handlinger
Der er to grundlæggende elementer i Linux Filesystem:
- Kataloger
- Filer
Der er tre handlinger, der kan udføres:
- Læs
- Skrive
- Udfør. Bortset fra at udføre scripts, er de samme handlinger nødvendige for at oprette filer og andre mapper inde i den
Bruger, der kan udføre disse handlinger er:
- Ejer af filen
- Gruppe af filens ejer
- Bruger, der ikke er tilknyttet ejergruppen eller ejeren selv
For at se tilladelser relateret til en fil skal du køre følgende kommando:
ls -lHer er hvad vi kommer tilbage med denne kommando:
Find tilladelse til filer
I output præsenterer de første 10 tegn tilladelsen til filen:
- Første tegn, som er '-' i dette tilfælde betyder, at dette er en fil. For et bibliotek ville dette have været en 'd'.
- De næste ni tegn repræsenterer tilladelser for henholdsvis ejeren, gruppen af ejeren og andre.
Ændring af tilladelser
Syntaks til ændring af tilladelse til en fil ser ud som:
chmod tilladelsesfil [fil 2] ..Oktal repræsentation for tilladelser
Vi kan præsentere tilladelser som et oktalt tal. For eksempel til at indstille læse-, skrive- og udføre tilladelser til ejeren, læse og skrive tilladelser til sin gruppe og ingen tilladelse til andre til et hej.txt-fil, udfører vi følgende kommando:
sudo chmod 760 hej.txtNår vi udfører ovenstående kommando og prøver at læse en fil med en ikke-ejerkonto ved hjælp af følgende kommando:
sudo -u notowner-user mere hej.txtVi får følgende fejl:
Hej.txt: Tilladelse nægtetMen hvor kommer dette tal fra? Hvert ciffer i dette nummer repræsenterer et sæt tilladelser. Lad os se, hvordan de blev afledt:
- 0: Betyder ingen tilladelse
- 1: Betegner udføre tilladelse
- 2: Betegner skrive tilladelse
- 4: Betegner Læs tilladelse
For at tildele læse, skrive og udføre tilladelser til ejeren tildelte vi ham nummeret 7 (= 4 + 2 + 1). Lad os bedre forstå dette i en cifret tabel:
Nummer | Binær | Læs | Skrive | Udfør |
0 | 000 | INGEN | INGEN | INGEN |
1 | 001 | INGEN | INGEN | JA |
2 | 010 | INGEN | JA | INGEN |
3 | 011 | INGEN | JA | JA |
4 | 100 | JA | INGEN | INGEN |
5 | 101 | JA | INGEN | JA |
6 | 110 | JA | JA | INGEN |
7 | 111 | JA | JA | JA |
Ovenstående tabel er meget tydelig i, hvad hver repræsenterer med hensyn til filtilladelser.
Tegnrepræsentation for tilladelser
Vi kan præsentere tilladelser som et oktalt tal. For eksempel til indstilling af læse-, skrive- og udførelsesrettigheder for ejeren skal læse- og skrivetilladelser for sin gruppe og ingen tilladelse for andre til et hej.txt-fil, udfører vi følgende kommando:
sudo chmod u = rwe, g = rw, o-rwx hej.txtFor at tilføje tilladelser til en eksisterende bruger kan vi også gøre:
sudo chmod g + w hej.txtHer blev skrivetilladelsen tildelt brugergruppen til filens ejer.
Ændringer i rekursiv tilladelse
Vi kan også ændre tilladelser til filer indeholdt i en bestemt mappe med en enkelt kommando. Brug sudo chmod med -R til at ændre tilladelserne for hver eneste fil og mappe i et givet bibliotek på én gang
sudo chmod 777 Directory / *Vi kan se følgende output, som tydeligt afspejler ændringen i filtilladelser:
Ændrer filtilladelser rekursivt
Konklusion
I denne lektion så vi på, hvordan vi kan ændre filtilladelser, og hvis det er nødvendigt, gør det rekursivt. Vi forstod grundlæggende begreber bag, hvordan Linux-tilladelser, der kan hjælpe os i vores daglige arbejde meget.