Howto install Hive on Ubuntu
Sadržaj:
- Dopuštenja za Linux datoteke
- Korištenje
chmod
- Simbolična (tekstualna) metoda
- Numerička metoda
- Korištenje referentne datoteke
- Rekurzivno mijenjajte dozvole datoteke
- Djelovanje na simboličkim vezama
- Skupna promjena dopuštenja datoteka
- Zaključak
U Linuxu se pristupom datotekama upravlja putem dozvola, atributa i vlasništva datoteke. To osigurava da samo ovlašteni korisnici i procesi mogu pristupiti datotekama i mapama.
Ovaj je vodič opisao kako pomoću naredbe
chmod
mijenjati dozvole pristupa datotekama i mapama.
Dopuštenja za Linux datoteke
Prije nego što nastavimo dalje, objasnimo osnovni model dozvola za Linux.
U Linuxu je svaka datoteka povezana s vlasnikom i skupinom te joj je dodijeljena prava pristupa dozvole za tri različite klase korisnika:
- Vlasnik datoteke.Članovi grupe.Ostali (svi ostali).
Vlasništvo datoteke može se promijeniti pomoću naredbi
chown
i
chown
.
Postoje tri vrste dozvola za datoteke koje se primjenjuju na svaku klasu:
- Dopuštenje za čitanje. Dopuštenje za pisanje. Dopuštenje za izvršavanje.
Ovaj koncept omogućuje vam da odredite koji korisnici smiju čitati datoteku, pisati je ili izvršavati.
Dozvole datoteke mogu se pregledati pomoću naredbe
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
Prvi znak prikazuje vrstu datoteke. To može biti obična datoteka (
-
), direktorij (
d
), simbolička veza (
l
) ili bilo koja druga posebna vrsta datoteke.
Sljedećih devet znakova predstavljaju dopuštenja za datoteke, tri trojke od po tri znaka. Prvi troplet prikazuje vlasnička dopuštenja, drugi skupna dopuštenja, a posljednji troplet prikazuje sva dopuštenja. Dozvole mogu imati različito značenje ovisno o vrsti datoteke.
U gornjem primjeru (
rw-r--r--
) znači da je vlasnik datoteke pročitao i napisao dozvole (
rw-
), grupa i ostali imaju samo dozvole za čitanje (
r--
).
Svaka od tri trostruke dozvole može biti sastavljena od sljedećih znakova i imati različite efekte, ovisno o tome jesu li postavljeni u datoteku ili u mapu:
Učinak dozvola na datoteke
Dopuštenje | Lik | Značenje na datoteci |
---|---|---|
Čitati |
-
|
Datoteka nije čitljiva. Ne možete vidjeti sadržaj datoteke. |
r
|
Datoteka je čitljiva. | |
Pisati |
-
|
Datoteka se ne može mijenjati ili mijenjati. |
w
|
Datoteka se može mijenjati ili mijenjati. | |
Izvršiti |
-
|
Datoteka se ne može izvršiti. |
x
|
Datoteka se može izvršiti. | |
s
|
Ako se nađe u
user
trojku, postavlja
setuid
bit. Ako se nađe u
group
setgid
, postavlja postavljeni bitni bit. To ujedno znači da je postavljena
x
zastava.
Kada su
|
|
S
|
Isto kao
s
ali zastava
x
nije postavljena. Ova se zastava rijetko koristi u datotekama. |
|
t
|
Ako se nađe u
others
trojkama, postavlja
sticky
bit.
To ujedno znači da je postavljena
|
|
T
|
Isto je kao
t
ali zastava
x
nije postavljena. Ova je zastava beskorisna u datotekama. |
Učinak dozvola na mape (mape)
U Linuxu su direktori posebne vrste datoteka koje sadrže druge datoteke i mape.
Dopuštenje | Lik | Značenje u imeniku |
---|---|---|
Čitati |
-
|
Sadržaj imenika ne može se prikazati. |
r
|
Može se prikazati sadržaj direktorija.
(npr. Možete popisati datoteke unutar mape s
|
|
Pisati |
-
|
Sadržaj direktorija ne može se mijenjati. |
w
|
Sadržaj direktorija može se mijenjati.
(npr. ne možete stvoriti nove datoteke, obrisati datoteke.. itd.) |
|
Izvršiti |
-
|
Imenik se ne može promijeniti u. |
x
|
Imenik se može kretati pomoću
cd
. |
|
s
|
Ako se pronađe u
user
trojku, postavlja bit
setuid
. Ako se nađe u
group
setgid
postavlja
setgid
bit. To ujedno znači da je postavljena
x
zastava. Kad je postavljena postavljena zastava u direktoriju, nove datoteke stvorene unutar nje nasljeđuju ID grupe direktorija (GID), umjesto primarnog ID-a grupe korisnika koji je stvorio datoteku.
|
|
S
|
Isto kao
s
ali zastava
x
nije postavljena. Ova je zastava beskorisna u imenicima. |
|
t
|
Ako se nađe u
others
trojkama, postavlja
sticky
bit.
To ujedno znači da je postavljena
|
|
T
|
Isto je kao
t
ali zastava
x
nije postavljena. Ova je zastava beskorisna u imenicima. |
Korištenje
chmod
Naredba
chmod
ima sljedeći opći oblik:
chmod MODE FILE…
Naredba
chmod
omogućuje vam da promijenite dopuštenja za datoteku pomoću simboličkog ili numeričkog načina ili referentne datoteke. Kasnije ćemo detaljnije objasniti načine. Naredba može prihvatiti jednu ili više datoteka i / ili mapa odvojenih razmakom kao argumente.
Samo root, vlasnik datoteke ili korisnik s privilegijama sudo, može promijeniti dopuštenja datoteke. Budite posebno oprezni kada koristite
chmod
, osobito kad rekurzivno mijenjate dopuštenja.
Simbolična (tekstualna) metoda
Sintaksa naredbe
chmod
kod korištenja simboličkog načina ima sljedeći format:
chmod perms… FILE…
Prvi set zastava (
), korisnik označava, definira koji korisnici klase dozvole za datoteku se mijenjaju.
-
u
- Vlasnik datotekeg
- Korisnici koji su članovi grupe.o
- Svi ostali korisnici.a
- Svi korisnici, identičniugo
.
Ako je korisnička zastava izostavljena, zadana je
a
a na dopuštenja koja postavlja umask ne utječu.
Drugi set zastava (
), operativne zastave, definira hoće li dozvole biti uklonjene, dodane ili postavljene:
-
-
Uklanja navedena dopuštenja.+
Dodaje navedena dopuštenja.=
Mijenja trenutna dopuštenja u navedena dopuštenja. Ako nakon simbola=
nije navedena nikakva dozvola, sva dopuštenja iz navedene korisničke klase se uklanjaju.
Dozvole (
perms…
) mogu se izričito postaviti koristeći nulu ili jedno ili više sljedećih slova:
r
,
w
,
x
,
X
,
s
i
t
. Koristite jedno slovo iz skupa
u
,
g
i
o
prilikom kopiranja dozvola s jedne na drugu klasu korisnika.
Pri postavljanju dozvola za više od jedne korisničke klase (
), zarezima (bez razmaka) koristite za odvajanje simboličkih modova.
Ispod je nekoliko primjera kako koristiti
chmod
naredbu u simboličkom načinu:
-
Dajte članovima grupe dozvolu da čitaju datoteku, ali ne i da je pišu i izvršavaju:
chmod g=r filename
Uklonite dozvolu za izvršenje za sve korisnike:
chmod ax filename
Odbojno uklonite dozvolu za pisanje drugim korisnicima:
chmod -R ow dirname
Uklonite dozvolu za čitanje, pisanje i izvršavanje za sve korisnike osim vlasnika datoteke:
chmod og-rwx filename
Ista stvar se može postići i sljedećim obrascem:
chmod og= filename
Dajte dozvolu za čitanje, pisanje i izvršavanje vlasniku datoteke, pročitajte dozvole grupi datoteka i ne dopuštajte svim ostalim korisnicima:
chmod u=rwx, g=r, o= filename
Dodajte vlasnička dopuštenja datoteke datotečnim dozvolama koje imaju članovi grupe datoteke:
chmod g+u filename
Dodajte ljepljivi zalogaj u zadani direktorij:
chmod o+t dirname
Numerička metoda
Sintaksa naredbe
chmod
kod korištenja numeričke metode ima sljedeći format:
chmod NUMBER FILE…
Kada koristite numerički način, možete postaviti dopuštenja za sve tri korisničke klase (vlasnika, grupe i sve ostale) istovremeno.
NUMBER
može biti 3 ili četverocifreni broj.
Kada se koristi 3-znamenkasti broj, prva znamenka predstavlja dopuštenja vlasnika datoteke, druga grupa iz datoteke i zadnja svi ostali korisnici.
Sva dopuštenja za pisanje, čitanje i izvršavanje imaju sljedeću brojčanu vrijednost:
-
r
(čitanje) = 4w
(pisanje) = 2x
(izvršenje) = 1no dopuštenja = 0
Broj dozvola određene korisničke klase predstavljen je zbrojem vrijednosti dozvola za tu grupu.
Da biste u numeričkom načinu saznali dopuštenja datoteke, jednostavno izračunajte ukupne vrijednosti za sve klase korisnika. Na primjer, da biste vlasniku datoteke dali čitanje, pisanje i izvršavanje dozvola, čitanje i izvršavanje dopuštenja grupi datoteka, a dozvole za čitanje samo ostalim ostalim korisnicima učinili biste sljedeće:
- Vlasnik: rwx = 4 + 2 + 1 = 7Grupa: rx = 4 + 0 + 1 = 5Drugi: rx = 4 + 0 + 0 = 4
Pomoću gornje metode dolazimo do broja
754
, koji predstavlja željena dopuštenja.
Za postavljanje
setuid
,
setgid
i
sticky bit
zastava koristite četveroznamenkasti broj.
Kada se koristi četveroznamenkasti broj, prva znamenka ima sljedeće značenje:
- setuid = 4setgid = 2sticky = 1no se mijenja = 0
Sljedeće tri znamenke imaju isto značenje kao i kad koristite trocifren broj.
Ako je prva znamenka 0, može se izostaviti, a način rada može se predstaviti s 3 znamenke. Numerički način
0755
je isti kao
755
.
Za izračunavanje numeričkog načina možete upotrijebiti i drugu metodu (binarnu metodu), ali ona je malo složenija. Znanje kako izračunati numerički način rada koristeći 4, 2 i 1 dovoljno je za većinu korisnika.
Dozvole datoteke možete provjeriti u numeričkom zapisu pomoću naredbe
stat
:
stat -c "%a" filename
644
Evo nekoliko primjera kako koristiti naredbu
chmod
u numeričkom načinu:
-
Dajte vlasniku datoteke dozvole za čitanje i pisanje i samo za čitanje dozvola članovima grupe i svim ostalim korisnicima:
chmod 644 dirname
Dajte vlasniku datoteke čitanje, pisanje i izvršavanje dozvola, čitanje i izvršavanje dopuštenja članovima grupe, a ne dopuštenja svim ostalim korisnicima:
chmod 750 dirname
Dajte dopuštenja za čitanje, pisanje i izvršavanje i ljepljivi zalogaj u datoj mapi:
chmod 1777 dirname
Rekurzivno postavljene dozvole za čitanje, pisanje i izvršavanje vlasniku datoteke i nikakve dozvole za sve ostale korisnike u datoj mapi:
chmod -R 700 dirname
Korištenje referentne datoteke
Opcija
--reference=ref_file
omogućuje vam da postavite dopuštenja datoteke jednaka onima iz određene referentne datoteke (
ref_file
).
chmod --reference=REF_FILE FILE
Na primjer, sljedeća naredba dodijelit će dopuštenja
file1
file2
Rekurzivno mijenjajte dozvole datoteke
Da biste rekurzivno radili na svim datotekama i mapama u datoj mapi, koristite opciju
-R
(
--recursive
):
chmod -R MODE DIRECTORY
Na primjer, za promjenu dozvola za sve datoteke i poddirektoriju u
/var/www
direktoriju u
755
biste koristili:
Djelovanje na simboličkim vezama
Simboličke veze uvijek imaju
777
dozvola.
Prema zadanim postavkama, prilikom promjene dopuštenja symlink-a,
chmod
će promijeniti dopuštenja za datoteku na koju upućuje veza.
chmod 755 symlink
Velike su šanse da, umjesto da promijenite ciljno vlasništvo, dobit ćete pogrešku "ne može pristupiti" simbol veze ": Dozvola odbijena.
Do pogreške dolazi jer su zadane postavke na većini Linux distribucija zaštićene veze i ne možete raditi na ciljnim datotekama. Ova je opcija navedena u
/proc/sys/fs/protected_symlinks
.
1
znači omogućeno, a
0
onemogućeno. Preporučuje se ne isključiti zaštitu simboličke veze.
Skupna promjena dopuštenja datoteka
Ponekad postoje situacije u kojima biste trebali skupiti dopuštenja datoteka i direktorija.
Najčešći je scenarij rekurzivna promjena dopuštenja datoteke web stranice na
644
i dozvole direktorija u
755
.
Pomoću numeričke metode:
find /var/www/my_website -type d -exec chmod 755 {} ;
find /var/www/my_website -type f -exec chmod 644 {} ;
Pomoću simboličke metode:
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 {} ;
Naredba
find
će pretraživati datoteke i direktorije pod
/var/www/my_website
i proslijediti svaku pronađenu datoteku i mapu naredbi
chmod
da bi postavila dozvole.
Zaključak
Naredba
chmod
mijenja dopuštenja datoteke. Dozvole se mogu postaviti bilo simboličkim ili numeričkim načinom.
Da biste saznali više o
chmod
posjetite stranicu chmod man.
Cp naredba u Linuxu (kopiranje datoteka)
cp je uslužni program za kopiranje datoteka i mapa u Unix i Linux sustavima.
Ls naredba u Linuxu (popis datoteka i mapa)
Naredba ls jedna je od osnovnih naredbi koju bi svaki korisnik Linuxa trebao znati. Koristi se za popis informacija o datotekama i mapama u datotečnom sustavu.
Naredba za preimenovanje u Linuxu (preimenovanje više datoteka)
Naredba za preimenovanje preimenuje zadate datoteke zamjenom izraza pretraživanja u njihovom imenu navedenom zamjenom.