chmod kommando i Linux med eksempler
De chmod (change mode) kommando i Linux/UNIX bruges til at indstille eller ændre fil- og mappetilladelser. Hver fil i Linux har en ejer en gruppe og tilhørende tilladelser, der bestemmer, hvem der kan læse, skrive eller udføre filen. Bruger chmod Administratorer og brugere kan kontrollere disse tilladelser for at sikre korrekt adgang og sikkerhed. Lad os overveje eksemplet
Brug chmod-kommandoen ved at give tilladelsen 745
Kommando:
chmod 745 newfile.txtProduktion:
![]()
Opdeling af
-rwxr--r-x:
- Ejer (
7):rwx> læs skriv udfør - Gruppe (
4):r--> kun læse - andre (
5):r-x> læs og udfør
Her er filen:
- Fuldt tilgængelig (læs/skriv/udfør) af ejeren
- Skrivebeskyttet for gruppen
- Læs + udfør for andre
Syntaks for chmod-kommandoen
chmod [options] [mode] [File_name]Her
- Valgmuligheder: Valgfri flag, der ændrer adfærden for
chmodkommando. - Mode: Tilladelserne, der skal angives, repræsenteret af et trecifret oktalt tal eller symbolsk notation (f.eks. u=rwgo=rx).
- Filnavn: Navnet på den fil eller mappe, som tilladelserne skal ændres for.
Tilgængelige indstillinger i chmod Command Linux
Her er nogle nyttige muligheder for chmod Kommando i Linux
| Mode | Ejer | Gruppe | Andre | Typisk brug til scripts |
|---|---|---|---|---|
| 700 | rwx | --- | --- | Privat script (kun du kan køre/redigere). |
| 711 | rwx | --x | --x | Kun eksekverbar/traverse; indholdet ikke kan læses. |
| 744 | rwx | r-- | r-- | Du redigerer & kører; andre kan læse (ikke udføre). |
| 750 | rwx | r-x | --- | Eksekverbar kun for team; skjult for andre. |
| 754 | rwx | r-x | r-- | Exec for gruppe skrivebeskyttet for andre. |
| 755 | rwx | r-x | r-x | Fælles: alle kan køre kun du redigerer. |
| 775 | rwx | rwx | r-x | Delt i en gruppe (både ejer og gruppe kan redigere/køre). |
Note: Indstillinger i `chmod` bruges grundlæggende til at lave ændringer i bulk og ændre tilladelser på tværs af flere filer eller mapper på én gang.
Nøgletilladelsestyper:
I Linux tilladelser bestemme, hvem der har kontrol over en fil eller mappe. Disse tilladelser angiver, hvem der kan læse (få adgang til) skrive (redigere eller slette) eller udføre (køre) en fil baseret på brugerroller: ejergruppe og andre.
- Læs (
r): Giver mulighed for at se indholdet af filen. - Skriv (
w): Tillader ændring af filen eller mappen. - Udfør (
x): Tillader at køre filen som et program eller gå ind i mappen.
Eksempler på brug af oktal tilstand:
Antag, hvis vi giver læse- og skrivetilladelse til filens ejer. Læs skrive- og eksekverbar tilladelse til gruppen. Skrivebeskyttet tilladelse til den Anden. De ville vores kommando være.
chmod 674 [file_name]Her.
- 6 repræsentere tilladelse fra filejer, som er (rw-).
- 7 repræsentere tilladelse fra Gruppen, som er (rwx).
- 4 repræsentere tilladelse fra Anden, hvilket er (r--).
Note: Du kan se og beregne filtilladelser, såsom hvem der har adgang til at læse skriv (slette eller ændre) eller udføre en fil for ejergruppen og andre (offentlige) ved hjælp af en chmod kalkulator.
Her bruger vi en lommeregner til at se tilladelserne. Ejeren har f.eks. læse-skrive- og udførelsestilladelser, mens gruppen og andre (offentlige) kun har læse- og skrivetilladelser, men ikke kan eksekvere filen.
Tilsvarende numerisk tilladelse:
Syntaks:
chmod 766 filenameTabel:
| Brugertype | Tilladelser | Binær | Værdi |
|---|---|---|---|
| Ejer | rwx | 111 | 7 |
| Gruppe | rw- | 110 | 6 |
| Andre | rw- | 110 | 6 |
Eksempel på tilbageføring af ændringer foretaget af 'chmod'-kommando i Linux
For at fortryde eller gendanne ændringer foretaget af 'chmod'-kommandoen i Linux kan vi bruge 'chmod' kommando igen, men denne gang skal vi nævne den korrekte tilladelse, vi ønsker.
Her er trinene til at fortryde eller fortryde ændringer:
- Bestem den korrekte tilladelse, du ønsker, og brug kommandoen `chmod` igen.
For eksempel: Hvis vi ønsker at gendanne ændringerne til 'rw-r--r--' (læse- og skrivetilladelse for ejerens skrivebeskyttede tilladelse for gruppe og andre) ifølge dette ville vores oktale værdi være '644' (læs = 4 skrive=2). - Åbn nu mappen og skriv den givne kommando:
chmod 644 [file_or_directory_name]Her i stedet for '[fil_eller_mappenavn]' skal du bruge dit fil- eller biblioteksnavn.
Antag, at vores filnavn er 'a.txt'
Før du vender tilbage eller fortryder ændringer:
ls -l a.txt (bruges til at vise alle de tilladelser, a.txt har)
Efter at have vendt tilbage eller fortryd ændringer:
Her kan vi se, at der er sket ændringer
Praktisk implementering af hvordan man gør script eksekverbart i Linux
I Linux er scripts typisk skrevet på sprog som Bash Python eller Perl. Selvom scriptets indhold er afgørende, er det lige så vigtigt at sikre, at det har eksekverbare tilladelser. Uden udførelsestilladelser tillader Linux ikke, at scriptet kører.
Trin 1: Naviger til scriptets bibliotek
Åbn terminalen og brug
cdkommando for at navigere til den mappe, hvor dit script er placeret.For eksempel:
cd /path/to/your/scriptTrin 2: Tjek aktuelle tilladelser
Brug `
ls`kommandoen med `-l`mulighed for at liste filerne i mappen sammen med deres tilladelser. Dette trin hjælper dig med at identificere de aktuelle tilladelser for dit script:ls -lkontrol af nuværende tilladelse
Trin 3: Gør scriptet eksekverbart
For at lave et script eksekverbart skal du bruge `
chmod`kommando. Forudsat at dit script hedder `eksempel.sh`du kan gøre det eksekverbart med følgende kommando:chmod +x example.shDenne kommando tilføjer execute (+x) tilladelsen til scriptet.
Trin 4: Bekræft ændringer
Kør `
ls -l`kommandoen igen for at bekræfte, at scriptet nu har udførelsestilladelser. Du bør se et 'x' i tilladelsesfeltet for scriptet:ls -lverificering af ændringer efter at have gjort scriptet eksekverbart
Trin 5: Udfør scriptet
Nu hvor dit script har eksekverbare tilladelser, kan du køre det ved at bruge `
./`notation efterfulgt af scriptets navn. For eksempel:./example.shudføre scriptet
Denne notation fortæller Linux at kigge i den aktuelle mappe (
Foreslået quiz Rediger quiz 5 spørgsmål.) for det navngivne scriptexample.sh.Hvilken numerisk tilladelse sikrer, at kun filejeren kan læse og skrive, mens gruppen og andre kun må læse filen?
- EN
chmod 777 file.txt
- B
chmod 664 file.txt
- C
chmod 644 file.txt
- D
chmod 600 file.txt
644 > ejer: rw- gruppe: r-- andre: r--.
Hvilken symbolsk-mode-kommando tilbagekalder eksekveringstilladelse fra kun andre uden at røre ejer- eller gruppetilladelser?
- EN
chmod a-x script.sh
- B
chmod o-x script.sh
- C
chmod go-x script.sh
- D
chmod u-x script.sh
o-x fjerner kun eksekveringsrettigheder fra 'andre'.
Hvilken chmod-konfiguration koder korrekt for et tilladelsesskema, hvor ejeren har fuld operationel autoritet, gruppen kun har invokationskapacitet, og andre kan blot inspicere uden ændringer?
- EN
chmod 751 app.sh
- B
chmod 754 app.sh
- C
chmod 715 app.sh
- D
chmod 571 app.sh
751 > ejer: rwx gruppe: r-x andre: --x (kun udfør).
Hvilken kommando anvender en tilladelsesmodel, der sikrer, at hver fil, der oprettes i en mappe, automatisk arver mappens gruppe uanset brugerejerskab?
- EN
chmod +t shared_dir/
- B
chmod g+s shared_dir/
- C
chmod u+s shared_dir/
- D
chmod 777 shared_dir/
g+s (setgid) tvinger nye filer til at arve mappens gruppe.
Et script skal være eksekverbart for alle brugere, som kun kan ændres af dets ejer, og mappen skal forhindre andre end en fils faktiske ejer i at slette eller omdøbe filer. Hvilket par kommandoer opfylder denne sikkerhedsmodel?
- EN
chmod 777 deploy.sh ; chmod +t /var/scripts
- B
chmod 755 deploy.sh ; chmod +t /var/scripts
- C
chmod 700 deploy.sh; chmod g+s /var/scripts
- D
chmod 755 deploy.sh ; chmod 777 /var/scripts
755 > ejer skriver alle kan udføre; +t begrænser filsletning til filejere.
Quiz gennemførte med succes Din score: 2 /5 Nøjagtighed: 0 % Log ind for at se forklaring 1 /5 1 /5 < Previous Næste >
ls -l a.txt (bruges til at vise alle de tilladelser, a.txt har)
Her kan vi se, at der er sket ændringer
kontrol af nuværende tilladelse
verificering af ændringer efter at have gjort scriptet eksekverbart
udføre scriptet