logo

Chmod-komento Linuxissa/Unixissa esimerkein

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:

    -R:Se tarkoittaa rekursiivista, eli objektien lisäämistä alihakemistoihin.-SISÄÄN:Se tarkoittaa verbose, display objects modified (muokattuja objekteja ei näytetä).

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:

    rwx:Vasemmanpuoleiset kolme merkkiä määrittävät tiedoston omistajan käyttöoikeudet (eli käyttäjäluokan).r-x:Kolme keskimmäistä merkkiä määrittävät oikeudet tiedoston omistavalle ryhmälle (eli ryhmäluokalle).---:Kolme oikeanpuoleista merkkiä määrittävät muut luokan käyttöoikeudet. Käyttäjät, jotka eivät ole tiedoston omistaja ja ryhmän jäsenet, eivät voi käyttää tiedostoa.

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:

Linux chmod -komento

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:

Linux chmod -komento

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:

Linux chmod -komento

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.