EXPLAINED: How to use "chmod" command [COMPLETE GUIDE]
Sisällysluettelo:
- Linux-tiedostooikeudet
- Käyttämällä
chmod
- Symbolinen (teksti) menetelmä
- Numeerinen menetelmä
- Viitetiedoston käyttäminen
- Vaihda tiedoston käyttöoikeudet rekursiivisesti
- Käyttö symbolisilla linkkeillä
- Tiedostojen käyttöoikeuksien muuttaminen joukkona
- johtopäätös
Linuxissa tiedostoihin pääsyä hallitaan tiedostojen käyttöoikeuksien, määritteiden ja omistajuuden kautta. Tämä varmistaa, että vain valtuutetut käyttäjät ja prosessit voivat käyttää tiedostoja ja hakemistoja.
Tämä opas sisältää kuinka
chmod
komennolla voidaan muuttaa tiedostojen ja hakemistojen käyttöoikeuksia.
Linux-tiedostooikeudet
Ennen kuin jatkat, selitetään Linux-käyttöoikeuksien perusmalli.
Linuxissa kukin tiedosto liitetään omistajaan ja ryhmään, ja niille annetaan lupaoikeudet kolmelle eri käyttäjäryhmälle:
- Tiedoston omistaja. Ryhmän jäsenet.Muut (kaikki muut).
Tiedoston omistajuutta voidaan muuttaa käyttämällä
chown
ja
chgrp
komentoja.
Jokaisessa luokassa on kolme tiedostooikeuksien tyyppiä:
- Lukuoikeus.Kirjoitusoikeus.Toimitusoikeus.
Tämän käsitteen avulla voit määrittää, mitkä käyttäjät saavat lukea tiedoston, kirjoittaa tiedostoon tai suorittaa tiedoston.
Tiedostojen käyttöoikeuksia voidaan tarkastella komennolla
ls
:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | | | | | | | | | | | +-----------> 7. Group | | | | | +-------------------> 6. Owner | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Others Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type
Ensimmäinen merkki näyttää tiedostotyypin. Se voi olla tavallinen tiedosto (
-
), hakemisto (
d
), symbolinen linkki (
l
) tai mikä tahansa muu erityyppinen tiedosto.
Seuraavat yhdeksän merkkiä edustavat tiedostooikeuksia, kolme kolmen merkin kolmesta kolmosta. Ensimmäinen kolmikko näyttää omistajan oikeudet, toinen yhden ryhmän käyttöoikeudet ja viimeinen kolmikko näyttää kaikkien muiden käyttöoikeudet. Käyttöoikeuksilla voi olla erilainen merkitys tiedostotyypistä riippuen.
Yllä olevassa esimerkissä (
rw-r--r--
) tarkoittaa, että tiedoston omistajalla on
rw-
ja kirjoitusoikeudet (
rw-
), ryhmällä ja muilla on vain lukuoikeudet (
r--
).
Jokainen kolmesta lupakolminnosta voidaan rakentaa seuraavista merkeistä ja niillä voi olla erilaisia vaikutuksia riippuen siitä, asetetaanko ne tiedostoksi vai hakemistoon:
Käyttöoikeuksien vaikutus tiedostoihin
Lupa | Merkki | Merkitys tiedostossa |
---|---|---|
Lukea |
-
|
Tiedostoa ei voi lukea. Et voi katsella tiedoston sisältöä. |
r
|
Tiedosto on luettavissa. | |
Kirjoittaa |
-
|
Tiedostoa ei voi muuttaa tai muokata. |
w
|
Tiedostoa voidaan muuttaa tai muokata. | |
Suorittaa |
-
|
Tiedostoa ei voi suorittaa. |
x
|
Tiedosto voidaan suorittaa. | |
s
|
Jos se löytyy
user
kolmiosta, se asettaa
setuid
bitin. Jos se löytyy
setgid
, se asettaa
setgid
bitin. Se tarkoittaa myös, että
x
lippu on asetettu.
Kun
|
|
S
|
Sama kuin
s
mutta
x
-lippua ei ole asetettu. Tätä lipua käytetään harvoin tiedostoissa. |
|
t
|
Jos se löytyy
others
triplettistä, se asettaa
sticky
bitin.
Se tarkoittaa myös, että
|
|
T
|
Sama kuin
t
mutta
x
-lippua ei ole asetettu. Tämä lippu on hyödytön tiedostoissa. |
Käyttöoikeuksien vaikutus hakemistoihin (kansioihin)
Linuxissa hakemistot ovat erityyppisiä tiedostoja, jotka sisältävät muita tiedostoja ja hakemistoja.
Lupa | Merkki | Merkitys hakemistossa |
---|---|---|
Lukea |
-
|
Hakemiston sisältöä ei voida näyttää. |
r
|
Hakemiston sisältö voidaan näyttää.
(Esimerkiksi, voit luetteloida tiedostoja hakemiston sisällä
|
|
Kirjoittaa |
-
|
Hakemiston sisältöä ei voi muuttaa. |
w
|
Hakemiston sisältöä voidaan muuttaa.
(esim. et voi luoda uusia tiedostoja, poistaa tiedostoja.. jne.) |
|
Suorittaa |
-
|
Hakemistoa ei voida muuttaa. |
x
|
Hakemistoon voidaan navigoida
cd
. |
|
s
|
Jos se löytyy
user
kolminkertaisesta, se asettaa
setuid
bitin. Jos se löytyy
setgid
se asettaa
setgid
bitin. Se tarkoittaa myös, että
x
lippu on asetettu. Kun
setgid
lippu on asetettu hakemistoon, siihen luodut uudet tiedostot perivät hakemistoryhmän tunnuksen (GID) tiedoston luoneen käyttäjän ensisijaisen ryhmätunnuksen sijasta.
|
|
S
|
Sama kuin
s
mutta
x
-lippua ei ole asetettu. Tämä lippu on hyödytön hakemistoissa. |
|
t
|
Jos se löytyy
others
triplettistä, se asettaa
sticky
bitin.
Se tarkoittaa myös, että
|
|
T
|
Sama kuin
t
mutta
x
-lippua ei ole asetettu. Tämä lippu on hyödytön hakemistoissa. |
Käyttämällä
chmod
chmod
komento on seuraavassa yleisessä muodossa:
chmod MODE FILE…
chmod
komennon avulla voit muuttaa tiedoston käyttöoikeuksia joko symbolisella tai numeerisella moodilla tai viitetiedostolla. Selitämme moodit yksityiskohtaisemmin myöhemmin. Komento voi hyväksyä yhden tai useampia tiedostoja ja / tai hakemistoja, jotka on erotettu välilyönnillä argumentteina.
Vain root, tiedoston omistaja tai käyttäjä, jolla on sudo-oikeudet, voivat muuttaa tiedoston käyttöoikeuksia. Ole erityisen varovainen, kun käytät
chmod
, varsinkin kun muutat oikeuksia rekursiivisesti.
Symbolinen (teksti) menetelmä
chmod
komennon syntaksilla symbolista tilaa käytettäessä on seuraava muoto:
chmod perms… FILE…
Ensimmäinen lippusarja (
), käyttäjien liput, määrittelee, mitkä käyttäjät luokkaa tiedoston käyttöoikeuksia muutetaan.
-
u
- tiedoston omistaja.g
- Ryhmän jäsenet.o
- Kaikki muut käyttäjät.a
- Kaikki käyttäjät, identtisiäugo
.
Jos käyttäjän lippu jätetään pois, oletusarvo on
a
ja umaskin asettamiin oikeuksiin ei vaikuteta.
Toinen lippu (
), operaation liput, määrittelee onko luvat poistettava, lisättävä vai asetettava:
-
-
Poistaa määritetyt käyttöoikeudet.+
Lisää määritetyt käyttöoikeudet.=
Muuttaa nykyiset käyttöoikeudet määritettyihin oikeuksiin. Jos oikeuksia ei määritetä=
-merkin jälkeen, kaikki määritetyn käyttäjäluokan oikeudet poistetaan.
Käyttöoikeudet (luvat
perms…
) voidaan nimenomaisesti asettaa käyttämällä joko nollaa tai yhtä tai useampaa seuraavista kirjaimista:
r
,
w
,
x
,
X
,
s
ja
t
. Käytä yksittäistä kirjainta sarjoista
u
,
g
ja
o
kun kopioit käyttöoikeuksia yhdestä toiseen käyttäjäluokkaan.
Kun asetat käyttöoikeuksia useammalle kuin yhdelle käyttäjäluokalle (
), erota symboliset tilat pilkuilla (ilman välilyöntejä).
Alla on esimerkkejä
chmod
komennon käytöstä symbolisessa tilassa:
-
Anna ryhmän jäsenille lupa lukea tiedostoa, mutta ei kirjoittaa ja suorittaa sitä:
chmod g=r filename
Poista kaikkien käyttäjien suoritusoikeudet:
chmod ax filename
Poista toisten käyttäjien kirjoitusoikeudet vastakkain:
chmod -R ow dirname
Poista lukemis-, kirjoitus- ja käyttöoikeudet kaikille käyttäjille paitsi tiedoston omistajalle:
chmod og-rwx filename
Sama asia voidaan suorittaa myös käyttämällä seuraavaa muotoa:
chmod og= filename
Annetaan lukea, kirjoittaa ja suorittaa lupa tiedoston omistajalle, lukea käyttöoikeuksia tiedostoryhmälle eikä oikeuksia kaikille muille käyttäjille:
chmod u=rwx, g=r, o= filename
Lisää tiedoston omistajan käyttöoikeudet tiedostojen ryhmän jäsenten oikeuksiin:
chmod g+u filename
Lisää tarttuva bitti annettuun hakemistoon:
chmod o+t dirname
Numeerinen menetelmä
chmod
komennon syntaksilla numeerista menetelmää käytettäessä on seuraava muoto:
chmod NUMBER FILE…
Kun käytät numeerista tilaa, voit asettaa oikeudet kaikille kolmelle käyttäjäluokalle (omistaja, ryhmä ja kaikki muut) samanaikaisesti.
NUMBER
voi olla 3 tai 4 numeroa.
Kun käytetään 3-numeroista numeroa, ensimmäinen numero edustaa tiedoston omistajan oikeuksia, toinen tiedosto-ryhmässä ja viimeinen kaikkien muiden käyttäjien oikeudet.
Jokaisella kirjoitus-, lukemis- ja suoritusluvalla on seuraava numeroarvo:
-
r
(lue) = 4w
(kirjoita) = 2x
(suorita) = 1 ei lupaa = 0
Tietyn käyttäjäluokan käyttöoikeuksien lukumäärää edustaa kyseisen ryhmän käyttöoikeuksien arvojen summa.
Tiedoston käyttöoikeuksien selvittämiseksi numeerisessa tilassa laske vain kaikkien käyttäjien luokkien kokonaismäärät. Jos esimerkiksi haluat antaa luku-, kirjoitus- ja toteutusoikeuden tiedoston omistajalle, lukea ja toteuttaa tiedostojen ryhmän käyttöoikeuksia ja lukea vain muiden käyttäjien käyttöoikeuksia, toimi seuraavasti:
- Omistaja: rwx = 4 + 2 + 1 = 7ryhmä: rx = 4 + 0 + 1 = 5Muut: rx = 4 + 0 + 0 = 4
Yllä olevaa menetelmää käyttämällä saadaan numero
754
, joka edustaa haluttuja oikeuksia.
Aseta
setgid
,
setgid
ja
setgid
neljään numeroon.
Kun käytetään nelinumeroista numeroa, ensimmäisellä numerolla on seuraava merkitys:
- setuid = 4setgid = 2sticky = 1 ei muutoksia = 0
Seuraavilla kolmella numerolla on sama merkitys kuin käytettäessä 3-numeroista numeroa.
Jos ensimmäinen numero on 0, sen voidaan jättää pois ja tilaa voidaan edustaa kolmella numerolla. Numeerinen tila
0755
on sama kuin
755
.
Laskeaksesi numeerisen tilan voit käyttää myös toista menetelmää (binaarimenetelmää), mutta se on hieman monimutkaisempi. Useimmille käyttäjille riittää se, että osaat laskea numeerisen tilan käyttämällä 4, 2 ja 1.
Voit tarkistaa tiedoston käyttöoikeudet numeerisessa merkinnässä
stat
komennolla:
stat -c "%a" filename
644
Tässä on esimerkkejä
chmod
komennon käytöstä numeerisessa tilassa:
-
Anna tiedoston omistajalle luku- ja kirjoitusoikeudet ja vain ryhmän jäsenille ja kaikille muille käyttäjille lukemisoikeudet:
chmod 644 dirname
Anna tiedoston omistajalle lukea, kirjoittaa ja suorittaa käyttöoikeuksia, lukea ja toteuttaa käyttöoikeuksia ryhmän jäsenille eikä oikeuksia kaikille muille käyttäjille:
chmod 750 dirname
Anna lukemiselle, kirjoittamiselle ja suorittamiselle luvat ja tarrabitti tietylle hakemistolle:
chmod 1777 dirname
Aseta rekursiivisesti lukemisen, kirjoittamisen ja suorittamisen käyttöoikeudet tiedoston omistajalle, eikä oikeuksia kaikille muille tietyssä hakemistossa oleville käyttäjille:
chmod -R 700 dirname
Viitetiedoston käyttäminen
--reference=ref_file
-asetuksen avulla voit asettaa tiedoston käyttöoikeudet samoiksi kuin määritetyn viitetiedoston (
ref_file
).
chmod --reference=REF_FILE FILE
Esimerkiksi seuraava komento määrittää
file1
käyttöoikeudet
file2
Vaihda tiedoston käyttöoikeudet rekursiivisesti
Voit käyttää rekursiivisesti kaikkia tiedostoja ja hakemistoja annetussa hakemistossa käyttämällä
-R
(-
--recursive
) -vaihtoehtoa:
chmod -R MODE DIRECTORY
Esimerkiksi, jos haluat muuttaa kaikkien tiedostojen ja alihakemistojen käyttöoikeudet hakemistoon
/var/www
hakemistoon
755
käytä:
Käyttö symbolisilla linkkeillä
Symbolisilla linkkeillä on aina
777
käyttöoikeutta.
Oletusarvon mukaan muutettaessa symlinkin oikeuksia
chmod
muuttaa käyttöoikeuksia tiedostoon, johon linkki osoittaa.
chmod 755 symlink
On mahdollista, että sen sijaan, että muutat kohteen omistajuutta, saat virheilmoituksen "ei pääse" linkkiä: Lupa evätty "-virheen.
Virhe ilmenee, koska oletuksena useimmissa Linux-jakeluissa linkit on suojattu, etkä voi toimia kohdetiedostoissa. Tämä vaihtoehto on määritetty
/proc/sys/fs/protected_symlinks
.
1
tarkoittaa käytössä ja
0
pois käytöstä. On suositeltavaa olla poistamatta käytöstä linkkisuojausta.
Tiedostojen käyttöoikeuksien muuttaminen joukkona
Joskus on tilanteita, joissa joudut vaihtamaan tiedostojen ja hakemistojen käyttöoikeudet irtotavarana.
Yleisin tapaus on muuttaa rekursiivisesti verkkosivustotiedoston käyttöoikeudet
644
ja hakemiston käyttöoikeudet
755
.
Numeerisen menetelmän käyttäminen:
find /var/www/my_website -type d -exec chmod 755 {} ;
find /var/www/my_website -type f -exec chmod 644 {} ;
Symbolisen menetelmän käyttäminen:
find /var/www/my_website -type d -exec chmod u=rwx, go=rx {} ;
find /var/www/my_website -type f -exec chmod u=rw, go=r {} ;
find
komento etsii tiedostoja ja hakemistoja hakemistosta
/var/www/my_website
ja siirtää jokaisen löydetyn tiedoston ja hakemiston
chmod
komentoon oikeuksien asettamiseksi.
johtopäätös
chmod
komento muuttaa tiedoston käyttöoikeuksia. Käyttöoikeudet voidaan asettaa käyttämällä joko symbolista tai numeerista tilaa.
Lisätietoja
chmod
on chmod-man-sivulla.
Windows-sovellusten käyttö Linuxissa
Viini on ilmainen, avoimen lähdekoodin tapa käyttää Windows-sovelluksia Linuxissa
Microsoft ja Best Buy Gang Up Linuxissa
Sanot "anti-Linux", sanon "Pro-Windows". Te sanotte Linux-hajautus, sanon "markkinointi".
Hyviä uutisia pelaajien metsästäjille Androidissa, Linuxissa ja avoimessa lähteessä
Vastaavia taitoja ja asiantuntemusta etsitään " , "Dice reports.