LFCS: Kako arhivirati/stisniti datoteke in imenike, nastaviti atribute datotek in najti datoteke v Linuxu - 3. del


Nedavno je fundacija Linux začela certificiranje LFCS (Linux Foundation Certified Sysadmin), povsem nov program, katerega namen je posameznikom z vseh koncev sveta omogočiti dostop do izpita, ki po odobritvi potrjuje, da je oseba dobro usposobljena za izvajanje osnovne do vmesne naloge skrbništva sistema v sistemih Linux. To vključuje podporo sistemom in storitvam, ki se že izvajajo, skupaj z odpravljanjem težav in analizo na prvi ravni ter možnost odločanja, kdaj bodo težave poslali inženirskim skupinam.

Oglejte si spodnji videoposnetek, ki daje idejo o certifikacijskem programu Linux Foundation.

Ta objava je 3. del 10-vadnice, tukaj v tem delu bomo obravnavali, kako arhivirati/stisniti datoteke in imenike, nastaviti atribute datotek in poiskati datoteke v datotečnem sistemu, ki so potrebne za izpit za certificiranje LFCS.

Orodja za arhiviranje in stiskanje

Orodje za arhiviranje datotek združi nabor datotek v eno samostojno datoteko, ki jo lahko varnostno kopiramo na več vrst medijev, prenesemo prek omrežja ali pošljemo po e-pošti. Najpogosteje uporabljen pripomoček za arhiviranje v Linuxu je tar . Ko se pripomoček za arhiviranje uporablja skupaj z orodjem za stiskanje, omogoča zmanjšanje velikosti diska, ki je potrebna za shranjevanje istih datotek in informacij.

tar združi skupino datotek v en arhiv (običajno imenovan tar datoteka ali tarball). Prvotno je ime imelo arhiv traku, vendar moramo vedeti, da lahko to orodje uporabljamo za arhiviranje podatkov na kakršen koli zapisljiv medij (ne samo na trakove). Tar se običajno uporablja z orodjem za stiskanje, kot so gzip , bzip2 ali xz , za izdelavo stisnjenega tarbara.

# tar [options] [pathname ...]

Kjer predstavlja izraz, s katerim določite, na katerih datotekah je treba ukrepati.

Gzip je najstarejše stiskalno orodje in zagotavlja najmanj stiskanja, bzip2 pa izboljšano stiskanje. Poleg tega je xz najnovejši, vendar (običajno) zagotavlja najboljšo stiskanje. Te prednosti najboljšega stiskanja imajo svojo ceno: čas, potreben za dokončanje operacije, in sistemski viri, uporabljeni med postopkom.

Datoteke tar , stisnjene s temi pripomočki, imajo običajno pripone .gz , .bz2 oziroma .xz . V naslednjih primerih bomo uporabili te datoteke: datoteka1, datoteka2, datoteka3, datoteka4 in datoteka5.

Vse datoteke v trenutnem delovnem imeniku združite v skupine in stisnite nastali sveženj z gzip , bzip2 in xz (upoštevajte uporabo običajnega izraz, ki določa, katere datoteke naj bodo vključene v sveženj - s tem se prepreči, da bi orodje za arhiviranje združevalo tarbalove, ustvarjene v prejšnjih korakih).

# tar czf myfiles.tar.gz file[0-9]
# tar cjf myfiles.tar.bz2 file[0-9]
# tar cJf myfile.tar.xz file[0-9]

Navedite vsebino tarbola in prikažite enake informacije kot dolg seznam imenikov. Upoštevajte, da operacij posodabljanje ali dodajanje ni mogoče uporabiti za stisnjene datoteke neposredno (če želite datoteko posodobiti ali dodati v stisnjeno tarbol, morate datoteko tar stisniti in posodobite/dodajte, nato znova stisnite).

# tar tvf [tarball]

Zaženite katerega koli od naslednjih ukazov:

# gzip -d myfiles.tar.gz	[#1] 
# bzip2 -d myfiles.tar.bz2	[#2] 
# xz -d myfiles.tar.xz 		[#3] 

Potem

# tar --delete --file myfiles.tar file4 (deletes the file inside the tarball)
# tar --update --file myfiles.tar file4 (adds the updated file)

in

# gzip myfiles.tar		[ if you choose #1 above ]
# bzip2 myfiles.tar		[ if you choose #2 above ]
# xz myfiles.tar 		[ if you choose #3 above ]

Končno,

# tar tvf [tarball] #again

ter primerjajte datum in čas spremembe datoteke file4 z enakimi informacijami, kot so prikazane prej.

Recimo, da želite narediti varnostno kopijo uporabnikovih domačih imenikov. Dobra praksa sysadmin-a bi bila (lahko to določajo tudi pravilniki podjetja), če izključite vse video in zvočne datoteke iz varnostnih kopij.

Morda bi bil vaš prvi pristop izključitev iz varnostne kopije vseh datotek s pripono .mp3 ali .mp4 (ali druge končnice). Kaj če imate pametnega uporabnika, ki lahko razširitev spremeni v .txt ali .bkp , vam pristop ne bo prinesel veliko koristi. Če želite zaznati zvočno ali video datoteko, morate z datoteko preveriti njeno vrsto datoteke. Naslednji skript lupine bo opravil delo.

#!/bin/bash
# Pass the directory to backup as first argument.
DIR=$1
# Create the tarball and compress it. Exclude files with the MPEG string in its file type.
# -If the file type contains the string mpeg, $? (the exit status of the most recently executed command) expands to 0, and the filename is redirected to the exclude option. Otherwise, it expands to 1.
# -If $? equals 0, add the file to the list of files to be backed up.
tar X <(for i in $DIR/*; do file $i | grep -i mpeg; if [ $? -eq 0 ]; then echo $i; fi;done) -cjf backupfile.tar.bz2 $DIR/*

Nato lahko varnostno kopijo obnovite v domači imenik prvotnega uporabnika (v tem primeru user_restore) in ohranite dovoljenja z naslednjim ukazom.

# tar xjf backupfile.tar.bz2 --directory user_restore --same-permissions

Preberite tudi :

  1. 18 primerov ukazov tar v Linuxu
  2. Dtrx - inteligentno arhivsko orodje za Linux

Uporaba ukaza find za iskanje datotek

Ukaz najdi se uporablja za rekurzivno iskanje po drevesih imenikov datotek ali imenikov, ki ustrezajo določenim značilnostim, nato pa lahko natisne ujemajoče se datoteke ali imenike ali izvede druge operacije na ujemanjih.

Običajno bomo iskali po imenu, lastniku, skupini, vrsti, dovoljenjih, datumu in velikosti.

# najdi [imenik_za_izvajanje] [izraz]

Poiščite vse datoteke ( -f ) v trenutnem imeniku (. ) in 2 podimenikih spodaj ( -maxdepth 3 vključuje trenutni delovni imenik in 2 ravni navzdol), katerih velikost ( -velika ) je večja od 2 MB .

# find . -maxdepth 3 -type f -size +2M

Datoteke z dovoljenji za 777 se včasih štejejo za odprta vrata zunanjim napadalcem. Kakor koli že, ni varno, če bi komu dovolili, da karkoli počne z datotekami. Uporabili bomo precej agresiven pristop in jih izbrisali! (‘ {} + se uporablja za\"zbiranje" rezultatov iskanja).

# find /home/user -perm 777 -exec rm '{}' +

V /etc poiščite konfiguracijske datoteke, do katerih ste dostopali ( -atime ) ali spremenili ( -mtime ) več ( +180 ) ali manj ( -180 ) kot pred 6 meseci ali natanko pred 6 meseci ( 180 ) .

Spremenite naslednji ukaz po spodnjem primeru:

# find /etc -iname "*.conf" -mtime -180 -print

Preberite tudi : 35 praktičnih primerov ukaza Linux »find«

Dovoljenja za datoteke in osnovni atributi

Prvih 10 znakov v izhodnem znaku ls -l so atributi datoteke. Prvi od teh znakov se uporablja za označevanje vrste datoteke:

  1. - : navadna datoteka
  2. -d : imenik
  3. -l : simbolna povezava
  4. -c : znakovna naprava (ki podatke obravnava kot tok bajtov, tj. terminal)
  5. -b : blokovna naprava (ki obdeluje podatke v blokih, tj. pomnilniške naprave)

Naslednjih devet znakov atributov datoteke se imenuje način datoteke in predstavlja branje ( r ), pisanje ( w ) in izvajanje ( x ) dovoljenja lastnika datoteke, lastnika skupine datotek in ostalih uporabnikov (običajno imenovanih\"svet").

Medtem ko dovoljenje za branje v datoteki omogoča odpiranje in branje istega, isto dovoljenje v imeniku omogoča, da je navedena njegova vsebina, če je nastavljeno tudi dovoljenje za izvajanje. Poleg tega dovoljenje za izvrševanje v datoteki omogoča, da se z njo ravna kot s programom in zažene, medtem ko v imeniku omogoča, da se isto vanjo cd’ed.

Dovoljenja za datoteke se spremenijo z ukazom chmod , katerega osnovna sintaksa je naslednja:

# chmod [new_mode] file

Kjer je new_mode osmiško število ali izraz, ki določa nova dovoljenja.

Osmeročno število lahko pretvorimo iz binarnega ekvivalenta, ki se izračuna na podlagi želenih dovoljenj datotek za lastnika, skupino in svet, kot sledi:

Prisotnost določenega dovoljenja je enaka moči 2 ( r = 22 , w = 21 , x = 20 ), medtem ko je njegova odsotnost enaka 0 . Na primer:

Če želite v osmiški obliki nastaviti dovoljenja za datoteko, kot je navedeno zgoraj, vnesite:

# chmod 744 myfile

Način datoteke lahko nastavite tudi z izrazom, ki označuje pravice lastnika s črko u , pravice lastnika skupine s črko g , preostanek pa z o . Vse te\" posameznike " je mogoče hkrati predstaviti s črko a . Dovoljenja se podelijo (ali prekličejo) s + oziroma - .

Kot smo že pojasnili, lahko določeno dovoljenje prekličemo tako, da ga predpišemo z znakom minus in navedemo, ali ga je treba preklicati za lastnika, lastnika skupine ali vse uporabnike. Spodnjo eno črto je mogoče razlagati tako: Spremeni način za vse uporabnike ( a ), prekliči ( - ) dovoljenje za izvajanje ( x ) .

# chmod a-x backup.sh

Dodelitev dovoljenj za branje, pisanje in izvajanje datotek lastniku in lastniku skupine ter dovoljenj za branje za svet.

Ko za nastavitev dovoljenj za datoteko uporabimo 3-mestno oktalno število, prva številka označuje dovoljenja za lastnika, druga številka za lastnika skupine in tretja številka za vse ostale:

  1. Lastnik : (r = 22 + w = 21 + x = 20 = 7)
  2. Lastnik skupine : (r = 22 + w = 21 + x = 20 = 7)
  3. Svet : (r = 22 + w = 0 + x = 0 = 4),

# chmod 774 myfile

Sčasoma in s prakso se boste lahko odločili, kateri način spreminjanja datotečnega načina vam najbolj ustreza. Dolg seznam imenikov prikazuje tudi lastnika datoteke in lastnika skupine (ki služi kot osnovni, a učinkovit nadzor dostopa do datotek v sistemu):

Lastništvo datoteke se spremeni z ukazom chown . Lastnika in lastnika skupine lahko spremenite hkrati ali ločeno. Njegova osnovna sintaksa je naslednja:

# chown user:group file

Kjer mora biti prisoten vsaj uporabnik ali skupina.

Spreminjanje lastnika datoteke v določenega uporabnika.

# chown gacanepa sent

Spreminjanje lastnika in skupine datoteke v določenega uporabnika: par skupin.

# chown gacanepa:gacanepa TestFile

Spreminjanje samo lastnika skupine datoteke v določeno skupino. Zapiši dvopičje pred imenom skupine.

# chown :gacanepa email_body.txt

Zaključek

Kot sistemski skrbnik morate vedeti, kako ustvariti in obnoviti varnostne kopije, kako najti datoteke v sistemu in spremeniti njihove atribute, skupaj z nekaj triki, ki vam lahko olajšajo življenje in vam preprečijo, da bi naleteli na prihodnje težave.

Upam, da vam bodo nasveti v tem članku pomagali doseči ta cilj. V oddelku za komentarje lahko v korist skupnosti dodate svoje nasvete in ideje. Hvala vnaprej!

  1. O LFCS
  2. Zakaj pridobiti certifikat Linux Foundation?
  3. Prijavite se na izpit LFCS