Ubuntu chmod komande. Chmod: promijenite dozvole

U našoj dokumentaciji o umask komanda. Sadrži sveobuhvatan opis kako definirati i specificirati dozvole datoteke.

Uglavnom, chmod komande imaju oblik:

chmod opcije dozvole ime dokumenta

ako ne opcije su specificirani, chmod mijenja dozvole datoteke specificirane od strane ime dokumenta na dozvole koje je odredio dozvole.

dozvole definira dozvole za vlasnika datoteke ("korisnik"), članove grupe koja posjeduje fajl ("grupa") i bilo koga drugog ("drugi"). Postoje dva načina za predstavljanje ovih dozvola: simbolima (alfanumerički znakovi) ili oktalnim brojevima (cifre 0 kroz 7 ).

Recimo da ste vlasnik datoteke pod nazivom myfile, i želite postaviti njegove dozvole tako da:

  1. the u ser can r glava, w obred, i e x ecute it;
  2. članovi vašeg g row-can r ead i e x ecute it; i
  3. o oni mogu samo rčitati.

Ova komanda će učiniti trik:

Chmod u=rwx,g=rx,o=r myfile

Ovaj primjer koristi simboličku notaciju dozvola. Pisma u, g, i o zastupati" korisnik", "grupa", i " ostalo".znak jednakosti(" = ") znači "postavite dozvole upravo ovako", a slova " r", "w", i " x" označavaju "čitanje", "pisanje" i "izvršavanje", respektivno. Zarezi razdvajaju različite klase dozvola, a između njih nema razmaka.

Evo ekvivalentne naredbe koja koristi oktalnu notaciju dozvola:

Chmod 754 myfile

Evo brojeva 7 , 5 , i 4 svaki pojedinačno predstavlja dozvole za korisnika, grupu i druge, tim redoslijedom. Svaka cifra je kombinacija brojeva 4 , 2 , 1 , i 0 :

  • 4 znači "čitati",
  • 2 znači "pisati",
  • 1 označava "izvršiti", i
  • 0 znači "bez dozvole."

Dakle 7 je kombinacija dozvola 4 +2 +1 (čitanje, pisanje i izvršavanje), 5 je 4 +0 +1 (čitanje, bez pisanja i izvršavanje), i 4 je 4 +0 +0 (čitanje, bez pisanja i bez izvršavanja).

Sintaksa

chmod[ OPCIJA]... MODE[,MODE]... FILE...chmod[ OPCIJA]... OCTAL-MODE FILE...chmod[ OPCIJA]... --referenca= RFILE FILE...

Opcije

-c, --promjene

Sviđa mi se --verbose, ali daje opsežan izlaz samo kada je promjena stvarno napravljena.

-f, --tiho, --tiho

Tihi način rada; potisnuti većinu poruka o greškama.

-v, --verbose

verbose mode; ispisati dijagnostičku poruku za svaku obrađenu datoteku.

--no-preserve-root

Prikažite poruku pomoći i izađite.

Vlasnik fajla.

hopestaff

Grupa kojoj datoteka pripada.

03. februar 15:36

Datoteka "s mtime (datum i vrijeme kada je datoteka posljednji put modificirana).

file.txt

Ime datoteke.

Primjeri

chmod 644 file.htm

Postavite dozvole za file.htm na "vlasnik može čitati i pisati; grupa može samo čitati; drugi mogu samo čitati".

Chmod -R 755 moji fajlovi

rekurzivno ( -R) Promijenite dozvole direktorija myfiles, i sve fascikle i datoteke koje sadrži, u režim 755 : Korisnik može čitati, pisati i izvršavati; članovi grupe i drugi korisnici mogu čitati i izvršavati, ali ne mogu pisati.

Chmod u=rw example.jpg

Promijenite dozvole za vlasnika primjer.jpg tako da vlasnik može čitati i pisati datoteku. Nemojte mijenjati dozvole za grupu ili za druge.

Chmod u+s comphope.txt

Postavite bit "Set-User-ID". comphope.txt, tako da svako ko pokuša pristupiti toj datoteci to čini kao da je vlasnik datoteke.

Chmod u-s comphope.txt

Suprotno od gornje naredbe; poništava SUID bit.

Chmod 755 file.cgi

Postavite dozvole za file.cgi na "čitanje, pisanje i izvršavanje od strane vlasnika" i "čitanje i izvršavanje od strane grupe i svih ostalih".

Chmod 666 file.txt

Postavite dozvolu za file.txt da "čitaju i pišu svi".

Chmod a=rw file.txt

Postiže istu stvar kao gornja naredba, koristeći simboličku notaciju.

povezane komande

chown- Promijenite vlasništvo datoteka ili direktorija.
getfacl- Prikaz liste kontrole pristupa datotekama.
ls- Navedite sadržaj direktorija ili direktorija.

Promijenite dozvole za fajl

sintaksa:

chmod[-fv] [-R [-H | -L | -P]] mod fajla ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] .ACE fajl ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] fajl ...

Opcije:

-R Rekurzija. Koristi se za foldere. Mijenja prava ne samo za navedeni objekt, već i za sve ugniježđene u njemu
-R -H Slijedite simbolične veze u komandna linija. Simboličke veze se ne obrađuju prema zadanim postavkama.
-R -L Svi simbolički linkovi će biti obrađeni
-R -P Stablo veza neće biti obrađeno. Podrazumevana postavka.
-v Verbose. Prikazuje sve datoteke koje su izmijenjene
-v -v vrlo opsežan način. Stare i nove dozvole bit će prikazane u oktalnom (numeričkom) i alfabetskom načinu prikaza
-f nemojte prikazivati ​​dijagnostičke poruke ako nije moguće promijeniti dozvole datoteke
ACL_Option(ACL - liste kontrole pristupa za korisničke grupe) ACL_manipulation_options

Prava pristupa:

Dozvole se mogu specificirati abecednim kodom ili numerički oktalni sistem obračun

Upravljanje putem numeričke autorizacije:

Tri bita se koriste za upravljanje pravima

  • prvo je pravo na čitanje
  • drugo je pravo na pisanje
  • treće je pravo na izvršenje
malo pomalo Broj Slovni kod opis zakona
000 0 nema prava
001 1 pravo nastupa
010 2 pravo samo za pisanje
011 3 pravo na snimanje i izvođenje
100 4 samo za čitanje desno
101 5 pravo čitanja i izvođenja
110 6 dozvola za čitanje i pisanje bez izvršenja
111 7 sva prava

Ove dozvole za fajl su postavljene za tri vrste pristupa:

  • za vlasnika
  • za grupu
  • za druge

Kao rezultat, naredba izgleda ovako:

$ chmod 444 fajl - dozvola samo za čitanje za sve

$ chmod 755 fajl - vlasnik ima sva prava (7), ostali korisnici samo čitaju i pokreću (5)

$ chmod 066 fajl - vlasnik nema prava na fajl (0), svi ostali imaju pravo čitanja i pisanja bez izvršavanja

Upravljanje putem doslovnog označavanja prava pristupa:

Format za određivanje prava prema kodu znakova

[ko...][[+-=][prava...]...][,...]

SZO je kombinacija karaktera "ugoa" pokazujući na korisnikačije će dozvole za pristup datoteci ili folderu biti promijenjene

  • u korisnik vlasnik
  • g grupa korisnika
  • o drugim korisnicima
  • a (sve) za sve, slično kao ugo

Naredba chmod se koristi za promjenu dozvola datoteka ili direktorija.

Na Linuxu i drugim Unix-ovima operativni sistemi za svaki fajl postoji skup pravila koja određuju ko i kako može pristupiti ovoj datoteci. Ova pravila se zovu dozvole datoteka ili načini datoteka. Ime naredbe chmod je skraćenica za "promjena moda" i koristi se za određivanje načina pristupa datoteci.

Generalno, chmod komande izgledaju ovako:

chmod opcije dozvole naziv datoteke

Ako a opcije nije navedeno, chmod mijenja dozvole datoteke navedene u ime dokumenta, na dozvole navedene u dozvole.

Dozvole definirati prava pristupa za vlasnika datoteke ("korisnik"), članove grupe koja posjeduje fajl ("grupa") i sve ostale ("ostali"). Postoje dva načina za predstavljanje ovih dozvola: korištenjem simbola (alfanumeričkih znakova) ili oktalnih brojeva (brojevi od 0 do 7).

Recimo da posjedujete fajl pod nazivom myfile i želite da postavite njegove dozvole tako da:

  1. korisnik ( u ser) mogao čitati ( r ead), napiši ( w obred) i izvrši ( x ecute) him;
  2. članovi grupe ( g red) može čitati ( r ead) i izvršiti ( x ecute) him;
  3. kao i drugi ( o njihov) može samo čitati ( r ead) njega.

Ova komanda će izgledati ovako:

chmod u=rwx,g=rx,o=r myfile

Ovaj primjer koristi simbolički unos za dozvole. Slova u, g i o označavaju korisnika, grupu i ostalo. Znak jednakosti ("=") znači "podesite dozvole ovako", a slova "r", "w" i "x" znače "čitanje", "pisanje" i "izvršavanje" respektivno. Odvojeni zarezi razne klase dozvole, a između njih nema razmaka.

Evo ekvivalentne naredbe koja koristi oktalnu notaciju dopuštenja:

chmod 754 myfile

Ovdje brojevi 7, 5 i 4 pojedinačno predstavljaju dozvole za korisnika, grupu i druge, tim redoslijedom. Svaka cifra je kombinacija brojeva 4, 2, 1 i 0:

  • 4 znači "čitati",
  • 2 znači "pisati",
  • 1 znači "izvršiti",
  • 0 znači "bez dozvole".

Dakle, 7 je kombinacija dozvola 4 + 2 + 1 (čitanje, pisanje i izvršavanje), 5 je 4 + 0 + 1 (čitanje, bez pisanja i izvršavanje), a 4 je 4 + 0 + 0 (čitanje, ne pisati, a ne izvršavati).

Sintaksa chmod

chmod ... MODE[,MODE]... FILE... chmod ... OKTALNI MODE FILE... chmod ... --reference=RFILE FILE...

chmod opcije

-c, --promjene Kao --verbose, ali proizvodi opsežan izlaz samo kada je promjena stvarno napravljena.

-f, --tiho, --tiho Tihi način rada; potisnuti većinu poruka o greškama.

-v, --verbose Detail mode; ispisati dijagnostičku poruku za svaku obrađenu datoteku.

--no-preserve-root Nemojte tretirati "/" (korijenski direktorij) na bilo koji poseban način, što je zadana postavka.

--preserve-root Nemojte raditi rekurzivno na "/".

--referenca=RFILE Postavite dozvole koje odgovaraju onima iz RFILE datoteke, zanemarujući bilo koji naveden MODE.

-R, --rekurzivno Mijenjajte datoteke i direktorije rekurzivno.

--pomoć Prikaži poruku pomoći i izađi.

--verzija Prikažite informacije o verziji i izađite.

Tehnički opis

chmod mijenja način datoteke svakog specificiranog FILE-a prema MODE-u, koji može biti ili simbolički prikaz promjena koje se vrše, ili oktalni broj koji predstavlja uzorak bitova za nove bitove moda.

Format simboličkog načina rada:

[[+-=]...]

gdje je perms nula ili više slova iz skupa r, w, x, X, s i t, ili jedno slovo iz skupa u, g i o. Možete navesti više načina karaktera odvojenih zarezima.

Kombinacija slova u, g, o i kontrola koje će promijeniti pristup korisnika fajlu: korisnik koji ga posjeduje (u), drugi korisnici u grupi datoteke (g), drugi korisnici koji nisu u grupi datoteke ( o), ili svi korisnici (a). Ako ništa od ovoga nije dato, efekat je kao da je dato a, ali bitovi koji su postavljeni u umask nisu pogođeni.

Operator (+) uzrokuje da se odabrani bitovi načina datoteke dodaju postojećim bitovima načina datoteke svake datoteke; "-" uzrokuje njihovo brisanje; i "=" uzrokuje njihovo dodavanje i uzrokuje uklanjanje nespomenutih bitova, osim što to ne utiče na nepromjenjive korisnički postavljene bitove direktorija i identifikatore grupe.

Slova r, w, x, X, s i t biraju bitove načina datoteke za pogođene korisnike: čitanje (r), pisanje (w), izvršavanje (x), izvršavanje samo ako je datoteka direktorij ili već ima dozvolu za izvršavanje za nekog korisnika (X) postavite ID korisnika ili grupe prilikom izvršavanja (s), oznaku ograničenog brisanja ili fiksni bit (t). Za direktorije, opcije izvršenja X i X određuju dozvolu za pregled sadržaja direktorija.

Umjesto jednog ili više ovih slova, možete navesti jedno od slova u, g ili o: dozvole dodijeljene korisniku koji posjeduje fajl (u), dozvole dodijeljene drugim korisnicima koji su članovi grupe datoteke (g ), i dozvole dodijeljene korisnicima, koje nisu uključene ni u jednu od dvije prethodne kategorije (o).

Numerički način rada je jedna do četiri oktalne cifre (0-7) koje se dobijaju dodavanjem bitova sa vrijednostima 4, 2 i 1. Pretpostavlja se da su cifre koje nedostaju su početne nule. Prva cifra odabire dati korisnički id (4) i dati id grupe (2) i ograničene atribute za brisanje ili ljepljive (1). Druga cifra bira prava pristupa za korisnika koji posjeduje operacije čitanja (4), pisanja (2) i izvršavanja (1); treći bira dozvole za druge korisnike u grupi datoteke sa istim vrijednostima; i četvrti za druge korisnike koji nisu u grupi datoteke, sa istim vrijednostima.

chmod nikada ne mijenja dozvole za simboličke veze; chmod sistemski poziv ne može promijeniti njihove dozvole. Ali to nije problem, pošto se dozvole za simboličke veze nikada ne koriste. Međutim, za svaku simboličku vezu navedenu u komandnoj liniji, chmod mijenja dozvole za specificiranu datoteku. Nasuprot tome, chmod zanemaruje simboličke veze na koje se naiđe tokom rekurzivnog obilaska direktorija.

Setuid i Setgid Bits

chmod briše set-group-ID bit obične datoteke ako ID grupe datoteke ne odgovara efektivnom ID-u grupe korisnika ili jednom od korisničkih dodatnih ID-ova grupe, osim ako korisnik ima odgovarajuće privilegije. Dodatna ograničenja može uzrokovati zanemarivanje bitova set-user-ID i set-group-ID u MODE ili RFILE. Ovo ponašanje zavisi od politike i funkcionalnosti osnovnog chmod sistemskog poziva. Ako ste u nedoumici, provjerite ponašanje sistema.

chmod čuva set-user-ID i set-group-ID bitove direktorija osim ako ne navedete drugačije. Možete postaviti ili obrisati bitove sa simboličkim načinima kao što su u+s i g-s, a možete postaviti (ali ne i obrisati) bitove sa numeričkim načinom.

Zastavica ograničenog uklanjanja (ili "Sticky Bit")

Oznaka ograničenog brisanja, ili sticky bit, je jedan bit čija interpretacija ovisi o tipu datoteke. Ovo sprječava brisanje ili preimenovanje datoteke u direktoriju od strane korisnika koji ne posjeduju datoteku ili direktorij; ovo se zove oznaka ograničenog brisanja za direktorij i obično se nalazi u globalno upisanim direktorijima kao što je /tmp. Za normalne datoteke na nekim starijim sistemima, ovaj bit čuva tekstualnu sliku programa na swap uređaju, tako da se brže učitava pri pokretanju; ovo se zove lepljivi bit.

Kako pogledati dozvole za fajlove

Brz i lak način da se navedu dozvole za fajlove je opcija duge liste (-l) naredbe ls. Na primjer, da vidite dozvole za file.txt, možete koristiti naredbu:

Ls -l datoteka.txt

Što će prikazati izlaz koji izgleda ovako:

chmod primjeri

chmod 644 file.htm

Postavlja dozvole za datoteku file.htm „vlasnik može čitati i pisati; grupa može samo čitati; drugi mogu samo čitati."

Chmod -R 755 moji fajlovi

Rekurzivno (-R) mijenja dozvole za myfiles direktorij i sve njegove mape i datoteke u način 755. Korisnik može čitati, pisati i izvršavati; članovi grupe i drugi korisnici mogu čitati i izvršavati, ali ne mogu pisati.

Chmod u=rw example.jpg

Mijenja dozvole vlasnika primjera.jpg tako da vlasnik može čitati i pisati datoteku. Ne mijenja dozvole za grupu ili za druge.

Chmod u+s comphope.txt

Postavlja bit "Set-User-ID" datoteke comphope.txt tako da svako ko pokuša pristupiti ovoj datoteci to čini kao da je vlasnik datoteke.

Chmod u-s comphope.txt

Suprotno od gornje naredbe; briše SUID bit

Chmod 755 file.cgi

Postavlja dozvole za file.cgi na "čitanje, pisanje i izvršavanje od strane vlasnika" i "čitanje i izvršavanje od strane grupe i svih ostalih."

Chmod 666 file.txt

Postavlja dozvolu za file.txt na "čitanje i pisanje od strane svih".

Chmod a=rw file.txt

Izvodi isto kao i gornja naredba koristeći simboličku notaciju.

Povezane komande

chown- Promijenite vlasnika datoteka ili direktorija.
getfacl- Prikaži liste kontrole pristupa datotekama.
ls- Navedite sadržaj direktorija ili direktorija.

(Početna vrijednost dozvola za fajl je rwxrwxrwx - potpuna kontrola za sve) Opozovite dozvolu za izvršavanje datoteke za sve korisnike i grupe:

$ chmod a-x fajl(rw-rw-rw-)

Otkažite pisanje u fajl od strane grupe i drugih korisnika:

$ chmod go-w fajl (rw-r–r–)

Dozvola za izvršenje fajla od strane vlasnika:

$ chmod u+x fajl (rwxr–r–)

Davanje grupi ista prava pristupa kao i vlasniku datoteke:

$ chmod g=u fajl (rwxrwxr–)

Otkažite čitanje i pisanje u fajl od strane korisnika grupe i drugih korisnika:

$ chmod go-rw fajl (rwx-x-)

Primjeri korištenja naredbe chmod u apsolutnom načinu rada

Dozvola za čitanje, pisanje, izvršavanje fajla od strane svih korisnika i grupa (potpuna kontrola):

$ chmod 777 fajl (rwxrwxrwx)

Postavljanje dozvola za čitanje i pisanje za vlasnika, grupu i druge korisnike:

$ chmod 666 fajl (rw-rw-rw-)

Postavljanje punog pristupa fajlu za vlasnika i pristupa samo za čitanje za grupu i druge korisnike:

$ chmod 744 fajl (rwxr-r-)

Postavljanje punog pristupa fajlu vlasniku fajla i zabrana pristupa grupi i drugim korisnicima:

$ chmod 700 fajl (rwx--)

Postavite dozvole za čitanje/pisanje za vlasnika datoteke i dozvole samo za čitanje za grupu i druge:

$ chmod 644 fajl (rw-r–r–)

Postavite dozvole za čitanje i pisanje za vlasnika datoteke i njene grupe i zabranite pristup drugima:

$ chmod 640 fajl (rw-r--)

Postavljanje pristupa fajlu sa dozvolom čitanja za sve korisnike i grupe:

$ chmod 444 fajl (r–r–r–)

Dozvole za čitanje, pisanje, izvršavanje od strane vlasnika i čitanje, izvršavanje od strane grupe i ostalo:

$ chmod 755 fajl (rwxr-xr-x)

Omogućavanje pristupa datoteci za čitanje i izvršavanje za korisnika i druge, i zabrana pristupa za grupu:

$ chmod 505 fajl (r-x-r-x)

Ako želite dodijeliti dozvole svim datotekama u trenutnom direktoriju, jednostavno stavite * (zvjezdicu) nakon dodijeljenih dozvola:

$ chmod 755 *

Kao rezultat izvršavanja ove naredbe, vlasnik će dobiti puna prava (čitanje, modificiranje, izvršavanje) na sve datoteke u trenutnom direktoriju, dok će grupa i ostali korisnici dobiti samo čitanje i izvršavanje. Ako želite da se vaše akcije propagiraju rekurzivno (uključujući sve poddirektorije), koristite opciju -R:

$ chmod -R 777 *

Rezultat gornje naredbe će biti rekurzivno "prelazak" kroz sve poddirektorije trenutnog direktorija i dodjeljivanje punog pristupa svim korisnicima i grupama. Ovaj članak pokriva samo neke primjere kako koristiti naredbu chmod. Ako želite saznati više o tome kako funkcionira naredba chmod i Linux dozvolama, pogledajte ovaj članak.

Promijenite dozvole samo za direktorije (rekurzivno)

$ pronađi /put/do/base/dir -type d -exec chmod 755 () +

$ chmod 755 $ (pronađi /put/do/base/dir -tip d)

$ chmod 755 `pronađi /put/do/base/dir -tip d`

$ pronađi /put/do/base/dir -tip d -print0 | xargs -0 chmod 755

Promijenite dozvole samo za fajlove (rekurzivno)

$ pronađi /put/do/base/dir -type f -exec chmod 644 () +

$ chmod 644 $ (pronađi /put/do/bazu/dir -tip f)

$ chmod 0755 `pronađi ./ -tip f`

$ pronađi /put/do/base/dir -type f -print0 | xargs -0 chmod 644

Chmod sintaksa za foldere i datoteke

Hajde da prvo shvatimo suštinu problema sa Chmodom da bismo razumeli šta tačno i kako konfigurišemo. Pa počnimo. Dozvole su podijeljene na Chmod za datoteke i Chmod za direktorije. Označeni su isto, ali znače malo drugačije.

Prava pristupa (Chmod) datotekama se dijele na:

    r - pravo čitanja podataka.

    w - pravo na promjenu sadržaja (pisanje - samo mijenjanje sadržaja, ali ne i brisanje).

    x - pravo na izvršavanje datoteke.

Zaustavimo se još malo na pravu za izvršavanje datoteke. Činjenica je da se u linuxu (Unixu) može izvršiti bilo koja datoteka. Da li se radi o izvršnoj, ne određuje se njenom ekstenzijom (koncept proširenja je odsutan u sistem podataka Unix), a za dozvole Chmod. Ako datoteka ima postavljenu dozvolu "X" (chmod x), to znači da se može pokrenuti za izvršenje.

Sada o pravima pristupa (Chmod) folderu (direktoriju):

    r - pravo čitanja direktorija (možete pročitati sadržaj direktorija, tj. dobiti listu objekata u njemu)

    w - pravo na promjenu sadržaja direktorija (možete kreirati i brisati objekte u ovom direktoriju, a ako imate dozvolu za pisanje, možete izbrisati čak i one datoteke koje vam ne pripadaju)

    x - pravo koje vam omogućava da uđete u direktorij (ovo pravo se uvijek prvo provjerava, pa čak i ako imate sva potrebna prava na objekt koji je zakopan duboko u lancu direktorija, ali nemate pravo "X" na pristupite barem jednom direktoriju na putu do ovog fajla, nikada nećete doći do njega)

AT linux sistemi(Unix) sva ova prava daje glavni administrator računara, pristup kojem dobija unošenjem lozinke. A ako većina objekata ima prava pristupa samo za čitanje (Chmod), onda virusi praktično neće imati ništa da rade na takvom računaru. neće moći da se tamo snime, niti da se tada ispune. To je rezultat koji trebamo postići postavljanjem prava pristupa (Chmod) objektima naše stranice.

Chmod sintaksa za korisničke grupe

Same dozvole (Chmod) su podijeljene u tri kategorije, ovisno o tome ko pristupa objektu:

    "korisnik" - u (direktni vlasnik fajla)

    "grupa" - g (član iste grupe kao i vlasnik)

    "svijet" - o (svi ostali)

Server određuje kojoj grupi korisnika pripadate kada se povežete na server. Kada se, na primjer, povežete sa serverom preko FTP-a, prijavljujete se sa svojim korisničkim imenom (i lozinkom) i server vas tada dodjeljuje u grupu "korisnik" ("u)". Ostali korisnici koji se također povezuju preko FTP-a na server bit će dodijeljeni grupi „grupa“ („g“), a korisnik koji dođe na Vašu stranicu koristeći svoj pretraživač spada u „svijet“ („o“) grupu.

Varijacije tri moguće vrijednosti "r", "w" i "x" za tri kategorije "u", "g" i "o" definiraju Chmod za datoteke. Ako kategorija nije navedena, zamjenjuje se crticom "-". prava pristupa (Chmod) su navedena sekvencijalno datim redosledom:

    prva prava za vlasnika - "u"

    zatim za grupu - "g"

    a na kraju desno za sve ostale - "o"

Nakon što server dodijeli korisnika određene grupe, daje mu prava da djeluje na objekte, nakon čega će korisnik moći čitati, pisati ili izvršavati datoteku (u zavisnosti od toga što je njegovoj grupi dozvoljeno da radi sa ovim objektom). Da biste vidjeli sadržaj foldera, on mora imati atribut čitanja "r" (za grupu kojoj je server dodijelio korisnika). Da biste kreirali datoteku ili mapu u postojećoj, ona mora imati atribut Chmod postavljen na unos "w".

Radi jasnoće, pogledajmo primjer gdje vlasnik datoteke ("korisnik" - "u") ima sva prava: pravo čitanja, pisanja i izvršavanja, a svi ostali korisnici imaju samo pravo čitanja. Takav Chmod unos bi izgledao ovako: "rwx r-- r--". Razmotrimo to detaljno: "rwx" (ovaj unos postavlja prava na objekt za vlasnika - "u"), "r--" (ovaj unos postavlja prava na isti objekt, ali ako je korisniku dodijeljena server grupi - "g"), "r--" (ovaj unos postavlja prava na objekt za sve ostale korisnike - o").

Koja je razlika između Chmod datoteka i mapa

Ništa se ne može učiniti

Pristup direktoriju i njegovim poddirektorijumima je odbijen

Može vidjeti i uređivati ​​sadržaj

Može dodavati, brisati, mijenjati fajl foldera

Pokreni ako je datoteka binarna

Korisnik može izvršiti binarnu datoteku za koju zna da postoji, pristup ili čitanje direktorija je zabranjen

Chmod sintaksa numerički (777)

Možete vidjeti da se ovdje zapisi koji koriste latinična slova i crtice koriste za opisivanje prava pristupa, ali vjerovatno ste već naišli na činjenicu da se Chmod obično postavlja u digitalnom obliku, na primjer, dobro poznata kombinacija: Chmod 777, koja omogućava sve i svi. Zaista, prava pristupa (Chmod) su također označena brojevima:

    w (zapis) se zamjenjuje sa 2

    x (izvršenje) se zamjenjuje sa 1

0 znači ne raditi ništa (što je označeno crticom u abecednom zapisu) Vratimo se na primjer notacije prava pristupa koju sam dao malo ranije: rwx r-- r--. Ako u njemu slova i crtice zamenimo brojevima, u skladu sa upravo opisanim pravilom, i istovremeno dodamo brojeve u svakoj trojci, dobićemo digitalni pogled ovog unosa: 744. tj. ispostavilo se da zbir ovih brojeva pokazuje Chmod fajlovima ili fascikli. Na primjer:

    7 (rwx) = 4 + 2 +1 (puna prava)

    5 (r-x)= 4 + 0 + 1 (čitaj i izvršavaj)

    6 (rw-) = 4 + 2 + 0 (čitaj i piši)

    4 (r--) =4 + 0 + 0 (samo za čitanje)

Ova tabela navodi sve moguće Chmod kombinacije u numeričkom obliku:

A sada pogledajmo različite kombinacije Chmod-a u brojevima, u odnosu na korisničke grupe:

""Vlasnik""

""Grupa""

""Odmor""

izvoditi

izvoditi

izvoditi

Vi sami (osim kada sajtu pristupate preko FTP-a) i svi ostali posetioci Vašeg sajta pripadate grupi „word“ (svi ostali), tako da za rad sa sajtom, prvo moramo da pogledamo poslednju (treću) cifru Chmod. Da bi skripta "pokrenula fajl" kada korisnik radi sa sajtom, biće dovoljno da su na njemu postavljena prava pristupa (Chmod), počevši od "4" (r-- - samo za čitanje) (5, 6,7 su također prikladni, ali ovo bi bilo pretjerano iz sigurnosnih razloga.

"Za mapu" u kojoj se nalazi datoteka ove skripte, morate postaviti najmanje "5" (r-x - možete otići u mapu i pročitati njen sadržaj, ne možete izbrisati ili dodati). 7 je također pogodan, ali će također biti suvišan u smislu sigurnosti. Ako vam je potrebna skripta da ne samo čita, već i "piše" neke podatke (na primjer, koje je unio korisnik), tada će minimalna prava na "mapu" i dalje biti "5", ali će "fajl" već potrebna su prava “6” (čitanje i pisanje).

Najvjerovatnije će na serveru na koji ste kopirali sadržaj motora vaše stranice biti instaliran sljedeći Chmod za objekte:

Fascikle 755

vlasnik (korisnik) može sve, grupa i svi ostali mogu samo čitati foldere i ulaziti u njih, ali ne smiju pisati fajlove, mijenjati imena i brisati ih u direktorijima. (rwxr-xr-x)

Fajlovi 644

Da imate sajt koji se sastoji od nekog html-a, onda biste sve mogli ostaviti tako. Ali moderne stranice su izgrađene na motorima, a možda postoje objekti na koje treba pisati u ime korisnika iz grupe "svijet" - o (svi ostali). To mogu biti folderi koji se koriste za keširanje stranica ili oni u koje će se u toku rada sa sajtom učitavati slike i sl. Podrazumeva se da ako sajtu pristupate preko FTP-a, možete pisati u ove fajlove ili foldere, ali ako radite sa sučeljem web stranice kao običan korisnik, možete imati problema. Stoga se instalaciji određenih Chmod-ova mora pristupiti selektivno.

Tim chmod (Promijeni MODE- promijeniti način rada) ima vrlo specifičnu sintaksu. Sintaksa općenito:
ali ono što ga karakteriše jeste da promena režima može imati različite oblike. Može se specificirati na dva načina:

  1. kao oktalni broj. Vlasničke dozvole odgovaraju brojevima u obliku 00 , gdje odgovara dodijeljenoj dozvoli: 4 za čitanje, 2 za pisanje i 1 za izvršavanje. Slično, dozvole za vlasničku grupu su 0, a dozvole za "druge" su . Zatim, sve što trebate učiniti je pronaći zbir dozvola koje ste dodijelili da biste dobili željeni način rada. Dakle, dozvole rwxr-xr-- odgovaraju 400+200+100 (vlasničke dozvole, rwx) +40+10 (grupne dozvole, r-x) +4 (ostale dozvole, r--) = 754; dakle, dozvole su izražene u terminima slobodnih članova. To znači da se prethodne dozvole bezuslovno zamjenjuju;
  2. koristeći izraze. U ovom slučaju, dozvole se izražavaju nizom izraza odvojenih zarezima. Odavde izraz postaje: [kategorija]<+|-|=><разрешения> .
primjeri:
  • chmod -R o-w /shared/docs: Rekurzivno uklanja dozvolu za pisanje za druge iz svih datoteka i poddirektorija u /shared/docs/ direktoriju.
  • chmod -R og-w,o-x privatno/: rekurzivno uklanja dozvolu pisanja za grupu i druge iz cijelog private/ direktorija i uklanja dozvolu za izvršavanje za druge.
  • chmod -c 644 razno/datoteka*: mijenja dozvole svih datoteka u misc/ direktoriju čija imena počinju sa file u rw-r--r-- (tj. dozvola za čitanje za svakoga i dozvola za pisanje samo za vlasnika), i prijavljuje samo one datoteke na koje je uticao komandu.

Sljedeći primjer pokazuje kako omogućiti svim korisnicima da čitaju, mijenjaju i spremaju datoteku. Da biste to učinili, morate promijeniti dozvole grupe "ostali".
Unesite na komandnoj liniji:
ls -l example1.txt Sljedeće informacije će biti prikazane:
-rw-rw-r-- 1 korisnik korisnik 42. mart 24. 22:07 example1.txt Sada unesite sljedeću naredbu:
chmod o+w example1.txt Naredba o+w znači da dajete "ostalima", označenim slovom "o", dozvolu za pisanje u datoteku example1.txt. Da vidimo šta je rezultiralo izvršenjem navedene naredbe, pogledajmo ponovo datoteku:
-rw-rw-rw- 1 korisnik korisnik 42. mart 24 22:09 example1.txt Sada svako može čitati i pisati u datoteku.
Da biste onemogućili čitanje i pisanje u example1.txt, koristite naredbu chmod.
chmod go-rw example1.txt Komanda go-rw govori sistemu da želite da sprečite grupu i "druge" da čitaju i upisuju datoteku example1.txt.
Kao rezultat, dozvole će izgledati ovako:
-rw------- 1 korisnik korisnik 42. mart 24 22:10 example1.txt Gore navedene klase i prava su skraćenica za odgovarajuće engleske riječi, tako da ih je lako zapamtiti: sve što trebate zapamtiti je nekoliko simbola i pisma.
Evo liste transkripata ovih skraćenica:

Klase u - korisnik koji je vlasnik fajla (od engleskog "user");
g - grupa kojoj korisnik pripada (od engleskog "group");
o - ostalo (ne vlasnik i ne vlasnička grupa, od engleskog "others");
a - sve (u, g i o, od engleskog "sve"). Dozvole r - pravo čitanja;
w je pravo pisanja;
x - pravo izvršenja. Akcije + - daje pravo;
- - oduzima pravo;
= - ostavlja samo ovo pravo.

Želite li provjeriti svoje znanje? Uklonite sva prava na datoteku example1.txt od svih korisnika.
chmod a-rwx example1.txt Sada provjerite da li možete čitati dati fajl naredba cat example1.txt . Trebali biste vidjeti sljedeće:
cat: example1.txt: Dozvola odbijena Opozivom svih dozvola, uključujući i vaše, odbili ste pristup datoteci. Ali pošto datoteka pripada vama, uvijek možete vratiti prava sljedećom naredbom:
chmod u+rw example1.txt Da biste bili sigurni da možete pročitati ovu datoteku, koristite naredbu cat example1.txt.
Evo nekoliko primjera korištenja naredbe chmod:

  • g+w Daje vlasničkoj grupi dozvolu za pisanje.
  • o-rwx - oduzima sva prava drugim korisnicima;
  • u+x - daje vlasniku pravo da izvrši fajl;
  • a+rw - dozvoljava svakome da čita i piše u datoteku;
  • ug+r - dozvoljava vlasniku i grupi da čitaju fajl;
  • g=rx - dozvoljava grupi da čita i izvrši datoteku (ne piše u nju).

-R opcija vam omogućava da promijenite dozvole za cijelo stablo direktorija.
Budući da se direktoriji ne mogu "izvršiti" kao aplikacije, dodavanje ili uklanjanje odgovarajućeg prava znači dopuštanje (ili onemogućavanje) pregleda direktorija.
Na primjer, ako spriječite druge korisnike da izvršavaju docs/ direktorij, nije važno ko ima dozvole za čitanje i pisanje. Nitko neće moći pristupiti sadržaju direktorija osim ako ne zna tačan naziv datoteke u kojoj se nalazi.
Upišite, na primjer:
chmod a-x docs za opoziv dozvole za izvršenje svim korisnicima.
Ako sada pokušate promijeniti direktorij sa cd docs, dobit ćete neuspjeh:
bash: docs: Dozvola odbijena Povratite dozvole za sebe i svoju grupu:
chmod ug+x docs Ako sada provjerite rezultate svojih akcija pomoću naredbe ls -l, vidjet ćete da je samo drugim korisnicima zabranjen pristup docs/ direktoriju.