Linux chmod -komentoa käytetään muuttamaan tiedostojen ja hakemistojen käyttöoikeuksia. Se tarkoittaa muuta tilaa . Se ei voi muuttaa symbolisten linkkien lupaa. Jopa se jättää huomiotta symboliset linkit, jotka törmäävät rekursiiviseen hakemiston läpikulkuun.
Vuonna Linux tiedostojärjestelmässä jokainen tiedosto on liitetty tiettyyn omistajaan ja niillä on käyttöoikeudet eri käyttäjille. Käyttäjäluokat voivat olla:
- omistaja
- ryhmän jäsen
- Muut (kaikki muut)
Linuxin tiedostooikeudet ovat kolmea tyyppiä:
- lue (r)
- kirjoittaa (w)
- suorita (x)
Chmodin lyhyt historia
Ensinnäkin chmod-komento esitetään AT&T UNIX -versiossa 1 chmod-järjestelmäkutsulla. Pääsynvalvontaluettelot sisällytettiin useisiin tiedostojärjestelmiin näiden yleisimpien tilojen osana joustavuuden lisäämiseksi, koska järjestelmien tyypit ja käyttäjämäärät kasvoivat.
Jim Meyering ja David MacKenzie määrittelivät GNU coreutilsiin järjestetyn chmod-version. Tämä komento on erillisenä pakettina Microsoft Windowsille osana UnxUtilsin alkuperäistä Win32-porttikokoelmaa, joka sisältää GNU Unixin kaltaisia perusapuohjelmia. Myös chmod-komento on toimitettu IBM i -käyttöjärjestelmään.
Katsotaanpa kuinka muuttaa tiedoston käyttöoikeuksia chmod-komennolla.
Syntaksi:
kuinka monta hedelmää siellä on
Chmod-komennon perussyntaksi on seuraava:
chmod
Yleisesti toteutetut vaihtoehdot ovat:
Kohdeobjektiin vaikuttaa, jos mainitaan symbolinen linkki. Itse symbolisiin linkkeihin liittyviä tiedostotiloja ei tyypillisesti käytetä.
Chmod-luvan ensisijainen osa:
Esimerkiksi, rwxr-x---
Kaikki kolmen merkin ryhmät määrittävät käyttöoikeudet kaikille luokille:
Vaihtoehdot:
Chmod-komento tukee seuraavia komentorivivaihtoehtoja:
muuntaa kaksinkertaiseksi javaksi
-c, --muutoksia: Se on samanlainen kuin monisanainen vaihtoehto, mutta ero on siinä, että se raportoidaan, jos muutos on tehty.
-f, --hiljainen, --hiljainen: Sitä käytetään estämään virheilmoitukset.
-v, --verbose: Sitä käytetään jokaisen käsitellyn tiedoston diagnostiikkatietojen näyttämiseen.
--ei-säilytettävä-juuri: Sitä käytetään kenoviivasymbolin ('/') jättämiseen käsittelemättä, erityisesti (oletus).
--säilytä-juuri: Jos tätä vaihtoehtoa käytetään, se ei toimi rekursiivisesti kenoviivalla ('/').
--reference=RFILE: Sitä käytetään RFILE:n tilan tai MODE-arvojen määrittämiseen.
-R, --rekursiivinen: Sitä käytetään tiedostojen ja hakemistojen vaihtamiseen rekursiivisesti.
--auta: Sitä käytetään ohjeoppaan näyttämiseen, jossa on lyhyt kuvaus käyttö- ja tukivaihtoehdoista.
--versio: Sitä käytetään versiotietojen näyttämiseen.
Tiedoston käyttöoikeussyntaksi
Jos olet uusi käyttäjä, saatat hämmentyä erityyppisiin kirjaimiin, joita käytetään tiedoston käyttöoikeuksien määrittämiseen. Joten, ennen kuin jatkat chmod-komennon kanssa, ymmärrämme tiedoston käyttöoikeuksien syntaksi.
Jotta voimme määrittää tiedoston tai hakemiston käyttöoikeudet, meidän on määritettävä seuraavat asiat:
- Kuka: Keitä me olemme. (käyttäjä)
- Mitä: Mitä muutoksia aiomme tehdä (kuten luvan lisääminen tai poistaminen)?
- Mikä: Mikä käyttöoikeuksista?
Käyttöoikeuslauseke esitetään indikaattoreina, kuten u+x, u-x. Kun 'u' tarkoittaa 'käyttäjää', '+' tarkoittaa lisäystä, '-' tarkoittaa poistamista, 'x' tarkoittaa suoritettavaa tiedostoa (joka).
java vertailla merkkijonoja
Käyttäjäarvo voi olla:
u: tiedoston omistaja
g: ryhmän jäsen
o: muut
a: kaikki
Käyttöoikeustyypit voivat olla r, w ja x.
Käyttöoikeuksien asettaminen ja päivittäminen
Määritä tiedoston käyttöoikeus suorittamalla lupalause chmod-komennolla. Haluamme esimerkiksi asettaa luku- ja kirjoitusoikeudet kaikille Demo.txt-tiedoston käyttäjille ja ryhmille. Meidän on välitettävä 'u=rw,go=rw Demo.txt' -käyttöoikeuslause chmod-komennolla. Näytä tiedoston käyttöoikeus suorittamalla alla oleva komento:
ls -l Demo.txt
Yllä oleva komento näyttää tiedoston demo.txt-tiedoston nykyisen tiedostoluvan.
Muuta lupaa suorittamalla alla oleva komento:
chmod u=rw,go=rw Demo.txt
Harkitse alla olevaa tulosta:
Yllä olevasta lähdöstä 'Demo.txt':n käyttöoikeus on muuttunut.
Useiden tiedostojen käyttöoikeuksien asettaminen
Voimme asettaa luvan useille tiedostoille kerralla käyttämällä chmod-komentoa. Jos haluat muuttaa useiden tiedostojen käyttöoikeuksia, määritä tiedostomalli chmod-komennolla. Jos esimerkiksi haluamme asettaa luku- ja kirjoitusoikeudet kaikille tekstitiedostoille, määritä *. txt-kuvio chmod-komennolla.
Jos haluat tarkastella kaikkien nykyisen työhakemiston tekstitiedostojen käyttöoikeuksia, suorita alla oleva komento:
ls -l *.txt
Se luettelee kaikki tekstitiedostot niiden lupatilassa. Harkitse alla olevaa tulosta:
Yllä olevasta lähdöstä monilla tiedostoilla on vain lukuoikeus muille käyttäjille.
Jos haluat asettaa luku- ja kirjoitusoikeudet muille käyttäjille, suorita alla oleva komento:
chmod o+w *.txt
Se asettaa luku- ja kirjoitusoikeudet muille tekstitiedostojen käyttäjille. Harkitse alla olevaa tulosta:
Numeerinen pikakirjoitus
Voimme käyttää numeerisia arvoja kirjainten sijasta käyttöoikeuksien määrittämiseen. Kolminumeroista arvoa käytetään luvan määrittämiseen. Vasemmanpuoleisin numero edustaa omistajaa (u) ja keskimmäinen numero ryhmän jäseniä (g). Oikeanpuoleisin numero edustaa muita (o).
Seuraava taulukko esittää numerot ja niiden käyttöoikeudet:
Numerot | Käyttöoikeudet |
---|---|
000 | Ei lupaa |
001 | Suorita lupa |
010 | Kirjoituslupa |
011 | Kirjoitus- ja suoritusoikeudet |
100 | Lukuoikeus |
101 | Luku- ja suoritusoikeudet |
110 | Luku- ja kirjoitusoikeudet |
111 | Luku-, kirjoitus- ja suoritusoikeudet |
Symboliset tilat
Myös chmod-komento hyväksyy hienojakoisemman symbolisen merkinnän, joka sallii tiettyjen tilojen muuttamisen. Symbolinen tila koostuu kolmesta elementistä, jotka yhdistetään yhdeksi tekstijonoksi:
$ chmod [references] [operator] [modes] file...
Chmod-ohjelma käyttää operaattoria määrittämään, kuinka tiedostotilat tulee järjestää. Seuraavat operaattorit on hyväksytty:
Operaattori | Kuvaus | |
---|---|---|
+ | Se lisää kuvatut kuvattuihin luokkiin. | |
- | Se poistaa kuvatun tilan kuvatuista luokista. | |
= | Se edustaa sitä, että kuvatut tilat on luotava samat tilat kuvatuille luokille. |
Tilat kuvaavat, mitkä luvat poistetaan tai myönnetään kuvatuilta luokilta. Yleisiin käyttöoikeuksiin liittyy pääasiassa kolme yleistä tilaa:
Nimi | tila | Kuvaus |
---|---|---|
lukea | r | Se lukee tiedoston tai luettelee hakemiston sisällön. |
kirjoittaa | Sisään | Se kirjoittaa hakemistoon tai tiedostoon. |
suorittaa | x | Se toistaa hakemistopuun tai suorittaa tiedoston. |
erityinen suoritus | X | Se ei ole lupa, mutta sen sijaan sitä voidaan käyttää x:n sijaan. Se käyttää hakemistojen suoritusoikeuksia niiden nykyisistä käyttöoikeuksista huolimatta ja käyttää suoritusoikeuksia tiedostolle, jolle on asetettu vähintään suoritusoikeusbitti. Siitä on hyötyä, jos sitä käytetään +-operaattorin kanssa ja ilman suorituslupaa, joka tapahtuisi, jos vain käyttäisimme chmod -R a+rx ., kun taas voimme toteuttaa chmod -R a+rx . mieluummin x:n kanssa. |
Useita muunnelmia voidaan kuvata eristämällä useita symbolisia tiloja pilkuilla. Chmod-komento tarkistaa umask jos käyttäjää ei ole määritetty.
Erikoistilat
Myös chmod-komento voi muuttaa hakemiston tai tiedoston erikoistiloja ja lisäoikeuksia. Symboliset tilat osoittavat 's' osoittamaan setgid- ja setuid-tilat ja 't' osoittamaan tahmeaa tilaa. Tilaa käytetään vain oikeille luokille huolimatta siitä, mainitaanko muut luokat vai ei.
Melkein kaikki käyttöjärjestelmät tukevat numeerisesti erityistilan määritystä, erityisesti oktaalista, mutta muutamat eivät. Näihin järjestelmiin voidaan soveltaa vain symbolisia tiloja.
kelvolliset tunnisteet javassa
Joitakin esimerkkejä komentoriviltä:
Komento | Kuvaus |
---|---|
chmod a+r publicComments.txt | Se lisää lukuoikeudet jokaiselle luokalle (eli ryhmälle, omistajalle ja muille). |
chmod a-x publicComments.txt | Se poistaa jokaisen luokan suoritusluvan. |
chmod a+rx viewer.sh | Se lisää suoritus- ja lukuoikeudet jokaiselle luokalle. |
chmod u=rw, g=r, o=internalPlan.txt | Se asettaa käyttäjän kirjoitus- ja lukuoikeudet, ryhmälle palvelun lukuoikeudet ja hylkää muiden käyttöoikeudet. |
chmod -R u+w, go-w asiakirjat | Se sisältää kirjoitusoikeudet hakemistodokumentteihin ja jokaiseen sen sisältöön omistajalle ja poistaa muiden ja ryhmän kirjoitusoikeudet. |
chmod and=rw groupAgreements.txt | Se asettaa ryhmän ja käyttäjän kirjoitus- ja lukuoikeudet. |
chmod 664 global.txt | Se asettaa kirjoitus- ja lukuoikeudet ryhmälle ja käyttäjälle ja antaa lukuoikeudet muille. |
chmod 744 Show_myCV.sh | Se asettaa suoritus-, kirjoitus- ja lukuoikeudet käyttäjälle ja antaa lukuoikeudet ryhmälle ja muille. |