Kako tarirati datoteke, postaviti dozvole za datoteke i pronaći datoteke u Linuxu


Nedavno je Linux fondacija pokrenula LFCS (Linux Foundation Certified Sysadmin) certifikaciju, potpuno novi program čija je svrha omogućiti pojedincima da obavljaju osnovne do srednje administrativne zadatke na Linux sistemima.

Ovo uključuje podršku već pokrenutim sistemima i uslugama, zajedno sa rješavanjem problema i analizom na prvom nivou, plus mogućnost odlučivanja kada eskalirati probleme inženjerskim timovima.

Serija će se zvati Priprema za LFCS (Linux Foundation Certified Sysadmin) dijelovi od 1 do 33 i pokrivati sljedeće teme:

Part 1

Kako koristiti naredbu 'Sed' za manipulaciju datotekama u Linuxu

Part 2

Kako instalirati i koristiti Vi/Vim u Linuxu

Part 3

Kako arhivirati datoteke, postaviti dozvole za datoteke i pronaći datoteke u Linuxu

Part 4

Particioniranje uređaja za skladištenje, formatiranje sistema datoteka i konfigurisanje zamjenske particije

Part 5

Montiraj/Demontiraj lokalne i mrežne (Samba & NFS) datotečne sisteme u Linuxu

Part 6

Sastavljanje particija kao RAID uređaja – Kreiranje i upravljanje rezervnim kopijama sistema

Part 7

Upravljanje procesima pokretanja sistema i uslugama (SysVinit, Systemd i Upstart

Part 8

Kako upravljati korisnicima i grupama, dozvolama za datoteke i Sudo pristupom

Part 9

Upravljanje Linux paketima sa Yum, RPM, Apt, Dpkg, Aptitude i Zypper

Part 10

Učenje osnovnih shell skriptova i rješavanje problema sa sistemom datoteka

Part 11

Kako upravljati i kreirati LVM koristeći naredbe vgcreate, lvcreate i lvextend

Part 12

Kako istražiti Linux s instaliranom dokumentacijom pomoći i alatima

Part 13

Kako konfigurirati i riješiti probleme Grand Unified Bootloader (GRUB)

Part 14

Nadgledajte korištenje resursa Linux procesa i postavite ograničenja procesa po korisniku

Part 15

Kako postaviti ili izmijeniti parametre vremena izvođenja kernela u Linux sistemima

Part 16

Implementacija obavezne kontrole pristupa sa SELinuxom ili AppArmorom u Linuxu

Part 17

Kako postaviti liste kontrole pristupa (ACL) i kvote diska za korisnike i grupe

Part 18

Instaliranje mrežnih usluga i konfiguriranje automatskog pokretanja pri pokretanju

Part 19

Ultimativni vodič za postavljanje FTP servera za omogućavanje anonimnih prijava

Part 20

Postavite osnovni DNS server za rekurzivno keširanje i konfigurirajte zone za domenu

Part 21

Kako instalirati, osigurati i podesiti performanse MariaDB servera baze podataka

Part 22

Kako instalirati i konfigurirati NFS server za dijeljenje sistema datoteka

Part 23

Kako podesiti Apache sa virtuelnim hostingom zasnovanim na imenu sa SSL sertifikatom

Part 24

Kako postaviti Iptables Firewall da omogućite daljinski pristup uslugama u Linuxu

Part 25

Kako pretvoriti Linux u ruter da upravlja prometom statički i dinamički

Part 26

Kako postaviti šifrirane sisteme datoteka i zamijeniti ih pomoću Cryptsetup alata

Part 27

Kako pratiti korištenje sistema, prekide rada i rješavanje problema na Linux serverima

Part 28

Kako postaviti mrežno spremište za instaliranje ili ažuriranje paketa

Part 29

Kako izvršiti reviziju mrežnih performansi, sigurnosti i rješavanja problema

Part 30

Kako instalirati i upravljati virtuelnim mašinama i kontejnerima

Part 31

Naučite osnove Gita za efikasno upravljanje projektima

Part 32

Vodič za početnike za konfiguriranje IPv4 i IPv6 adresa u Linuxu

Part 33

Vodič za početnike za stvaranje mrežnog povezivanja i premošćavanja u Ubuntuu

Ovaj post je dio 3 serije od 33 tutorijala, ovdje u ovom dijelu ćemo pokriti kako arhivirati/komprimirati datoteke i direktorije, postaviti atribute datoteka i pronaći datoteke u sistemu datoteka koje su potrebne za LFCS< sertifikacioni ispit.

Alati za arhiviranje i kompresiju za Linux

Alat za arhiviranje datoteka grupiše skup datoteka u jednu samostalnu datoteku koju možemo sigurnosno kopirati na nekoliko vrsta medija, prenijeti preko mreže ili poslati putem e-pošte.

Najčešće korišteni uslužni program za arhiviranje u Linuxu je naredba tar. Kada se uslužni program za arhiviranje koristi zajedno sa alatom za kompresiju, to omogućava smanjenje veličine diska koja je potrebna za pohranjivanje istih datoteka i informacija.

Linux tar Utility

tar spaja grupu fajlova u jednu arhivu (obično se naziva tar fajl ili tarball). Ime je izvorno značilo arhivator trake, ali moramo napomenuti da ovaj alat možemo koristiti za arhiviranje podataka na bilo koju vrstu medija za pisanje (ne samo na trake).

Tar se obično koristi sa alatom za kompresiju kao što je gzip, bzip2 ili xz za proizvodnju komprimovanog tarball-a.

Osnovna sintaksa naredbe tar je sljedeća:

tar [options] [pathname ...]

Gdje ... predstavlja izraz koji se koristi za određivanje na koje datoteke treba djelovati.

Najčešće korištene Tar naredbe

Long option Abbreviation Description
 –create  c  Creates a tar archive
 –concatenate  A  Appends tar files to an archive
 –append  r  Appends files to the end of an archive
 –update  u  Appends files newer than copy in archive
 –diff or –compare  d  Find differences between archive and file system
 –file archive  f  Use archive file or device ARCHIVE
 –list  t  Lists the contents of a tarball
 –extract or –get  x  Extracts files from an archive

Normalno korišteni modifikatori rada tar

Long option Abbreviation Description
 –directory dir  C  Changes to directory dir before performing operations
 –same-permissions  p  Preserves original permissions
 –verbose  v  Lists all files read or extracted. When this flag is used along with –list, the file sizes, ownership, and time stamps are displayed.
 –verify  W  Verifies the archive after writing it
 –exclude file  —  Excludes files from the archive
 –exclude=pattern  X  Exclude files, given as a PATTERN
 –gzip or –gunzip  z  Processes an archive through Gzip
 –bzip2  j  Processes an archive through bzip2
 –xz  J  Processes an archive through xz

Linux Gzip, Bzip2 i Xz Utilities

Gzip je najstariji alat za kompresiju i pruža najmanju kompresiju, dok bzip2 pruža poboljšanu kompresiju. Osim toga, xz je najnoviji, ali (obično) pruža najbolju kompresiju.

Prednosti najbolje kompresije imaju svoju cijenu: vrijeme koje je potrebno za završetak operacije i sistemski resursi koji se koriste tokom procesa.

Obično, tar datoteke komprimirane ovim uslužnim programima imaju ekstenzije .gz, .bz2, odnosno .xz. U sljedećim primjerima koristit ćemo ove datoteke: file1, file2, file3, file4, i file5.

Kompresovanje datoteka pomoću gzip, bzip2 i xz

Grupirajte sve datoteke u trenutnom radnom direktoriju i komprimirajte rezultirajući paket pomoću gzip, bzip2 i xz (imajte na umu upotrebu običnog izraz za navođenje koje datoteke treba uključiti u paket – to je da bi se spriječilo da alat za arhiviranje grupiše tarball-ove kreirane u prethodnim koracima).

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

Lista sadržaja i ažuriranje/dodavanje datoteka Tar Archive

Navedite sadržaj tarball-a i prikažite iste informacije kao dugačak popis direktorija. Imajte na umu da se operacije ažuriranja ili dodavanja ne mogu primijeniti direktno na komprimirane datoteke.

Dekomprimirajte Tar datoteke

Ako trebate ažurirati ili dodati datoteku komprimiranom tarball-u, trebate dekomprimirati tar datoteku i ažurirati/dodati je, a zatim je ponovo komprimirati.

tar tvf [tarball]

Pokrenite bilo koju od sljedećih naredbi:

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

Izbrišite ili dodajte datoteke u Tar arhivu

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

i

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

konačno,

tar tvf [tarball] #again

i uporedite datum i vrijeme izmjene datoteke4 sa istim informacijama kao što je prikazano ranije.

Izuzmi datoteke iz rezervnih kopija

Pretpostavimo da želite napraviti sigurnosnu kopiju početnih direktorija korisnika. Dobra praksa sistemskog administratora bi bila (može biti određena politikama kompanije) da se iz rezervnih kopija izuzmu svi video i audio fajlovi.

Možda bi vaš prvi pristup bio da isključite iz sigurnosne kopije sve datoteke sa ekstenzijom .mp3 ili .mp4 (ili drugim ekstenzijama). Šta ako imate pametnog korisnika koji može promijeniti ekstenziju u .txt ili .bkp, vaš pristup vam neće donijeti mnogo koristi.

Da biste otkrili audio ili video datoteku, morate provjeriti njen tip datoteke pomoću datoteke. Sljedeća shell skripta će obaviti posao.

#!/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/*

Vratite sigurnosnu kopiju s dozvolama za očuvanje Tar

Zatim možete vratiti sigurnosnu kopiju u početni korisnički direktorij (user_restore u ovom primjeru), čuvajući dozvole, pomoću sljedeće naredbe.

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

Korištenje komande Find za traženje datoteka

Naredba find se koristi za rekurzivno pretraživanje kroz stabla direktorija za datoteke ili direktorije koji odgovaraju određenim karakteristikama, a zatim može ili ispisati odgovarajuće datoteke ili direktorije ili izvršiti druge operacije nad podudaranjima.

Obično ćemo pretraživati po imenu, vlasniku, grupi, tipu, dozvolama, datumu i veličini.

Osnovna sintaksa naredbe find je sljedeća:

find [directory_to_search] [expression]

Pronalaženje datoteka rekurzivno prema veličini

Pronađite sve datoteke (-f) u trenutnom direktoriju (.) i 2 poddirektorijuma ispod (-maxdepth 3 uključuje trenutni radni direktorij i 2 nivoa niže) čija je veličina (-size) veća od 2 MB.

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

Pronalaženje i brisanje datoteka koje odgovaraju određenim kriterijima

Fajlovi s 777 dozvolama se ponekad smatraju otvorenim vratima vanjskim napadačima. U svakom slučaju, nije bezbedno dozvoliti bilo kome da radi bilo šta sa fajlovima. Zauzet ćemo prilično agresivan pristup i izbrisati ih! (‘{}+ se koristi za “prikupljanje” rezultata pretraživanja).

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

Pronalaženje datoteka na osnovu vremenskih oznaka

Potražite konfiguracijske datoteke u /etc kojima se pristupilo (-atime) ili modificirano (-mtime) više (+180) ili manje (-180) od prije 6 mjeseci ili prije tačno 6 mjeseci (180) .

Izmijenite sljedeću naredbu prema primjeru ispod:

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

Postavite dozvole za datoteke i osnovne atribute

Prvih 10 znakova u izlazu ls -l su atributi datoteke. Prvi od ovih znakova se koristi za označavanje tipa datoteke:

  • - : obična datoteka
  • -d : direktorij
  • -l : simbolička veza
  • -c : karakterni uređaj (koji tretira podatke kao tok bajtova, tj. terminal)
  • -b : blok uređaj (koji obrađuje podatke u blokovima, tj. uređajima za pohranu)

Sljedećih devet znakova atributa datoteke nazivaju se način rada datoteke i predstavljaju čitanje (r), pisanje (w) i izvršavanje (x >) dozvole vlasnika datoteke, vlasnika grupe datoteke i ostatka korisnika (koji se obično nazivaju “svijet”).

Dok dozvola za čitanje datoteke dozvoljava njeno otvaranje i čitanje, ista dozvola za direktorij dozvoljava da se njegov sadržaj navede ako je također postavljena dozvola za izvršavanje. Osim toga, dozvola za izvršavanje u datoteci omogućava da se njome rukuje kao program i da se pokrene, dok u direktoriju dozvoljava da se isti unese u njega.

Dozvole datoteke se mijenjaju naredbom chmod, čija je osnovna sintaksa sljedeća:

chmod [new_mode] file

Gdje je new_mode ili oktalni broj ili izraz koji specificira nove dozvole.

Oktalni broj se može pretvoriti iz njegovog binarnog ekvivalenta, koji se izračunava iz željenih dozvola za datoteku za vlasnika, grupu i svijet, na sljedeći način:

Prisustvo određene dozvole jednako je potenciji od 2 (r=22, w=21, x=20 ), dok je njegovo odsustvo jednako 0. Na primjer:

Da postavite dozvole datoteke kao gore u oktalnom obliku, upišite:

chmod 744 myfile

Također možete postaviti način rada datoteke koristeći izraz koji označava vlasnička prava slovom u, prava vlasnika grupe slovom g, a ostala sa o.

Svi ovi “pojedinci” mogu biti predstavljeni u isto vrijeme slovom a. Dozvole se odobravaju (ili opozivaju) sa znakovima + ili -.

Uklonite dopuštenje za izvršavanje skripte svim korisnicima

Kao što smo ranije objasnili, možemo opozvati određenu dozvolu tako što ćemo je dodati predznakom minus i naznačiti da li je treba opozvati vlasniku, vlasniku grupe ili svim korisnicima. Jednostruki red ispod može se protumačiti na sljedeći način: Promijenite način rada za sve (a) korisnike, opozovite (-) dozvolu za izvršavanje (x) .

chmod a-x backup.sh

Davanje dozvola za čitanje, pisanje i izvršavanje za fajl vlasniku i vlasniku grupe, kao i dozvole za čitanje za cijeli svijet.

Kada koristimo trocifreni oktalni broj za postavljanje dozvola za datoteku, prva cifra označava dozvole za vlasnika, druga znamenka za vlasnika grupe i treća znamenka za sve ostale:

  • Vlasnik: (r=22 + w=21 + x=20=7)
  • Vlasnik grupe: (r=22 + w=21 + x=20=7)
  • Svijet: (r=22 + w=0 + x=0=4),
chmod 774 myfile

Vremenom i sa praksom moći ćete da odlučite koji način da promenite režim datoteke najbolje odgovara vama u svakom slučaju. Dugačak popis direktorija također prikazuje vlasnika datoteke i vlasnika njene grupe (koji služe kao rudimentarna, ali efikasna kontrola pristupa datotekama u sistemu):

Vlasništvo datoteke se mijenja naredbom chown. Vlasnik i vlasnik grupe mogu se mijenjati istovremeno ili odvojeno. Njegova osnovna sintaksa je sljedeća:

chown user:group file

Gdje barem jedan korisnik ili grupa moraju biti prisutni.

Primjeri naredbi Chown

Promjena vlasnika datoteke na određenog korisnika.

chown gacanepa sent

Promjena vlasnika i grupe datoteke na određeni par korisnik:grupa.

chown gacanepa:gacanepa TestFile

Promjena samo vlasnika grupe datoteke u određenu grupu. Obratite pažnju na dvotočku ispred imena grupe.

chown :gacanepa email_body.txt
Zaključak

Kao sistemski administrator, morate znati kako kreirati i vraćati sigurnosne kopije, kako pronaći datoteke u vašem sistemu i promijeniti njihove atribute, zajedno s nekoliko trikova koji vam mogu olakšati život i spriječiti vas da naiđete na buduće probleme.

Nadam se da će vam savjeti iz ovog članka pomoći da postignete taj cilj. Slobodno dodajte svoje informacije i ideje u odjeljku za komentare za dobrobit zajednice. Hvala unaprijed!

LFCS e-knjiga je sada dostupna za kupovinu. Naručite svoj primjerak već danas i započnite svoj put da postanete certificirani Linux sistem administrator!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Na kraju, ali ne i najmanje važno, razmislite o kupovini vaučera za ispit koristeći sljedeće veze kako biste zaradili malu proviziju, što će nam pomoći da ovu knjigu ažuriramo.