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


Nedavno je Linux Foundation pokrenuo certifikaciju LFCS (Linux Foundation Certified Sysadmin), potpuno novi program čija je svrha omogućiti pojedincima obavljanje osnovnih do srednjih zadataka administracije sustava na Linux sustavima.

To uključuje podršku već pokrenutim sustavima i uslugama, zajedno s prvorazinskim rješavanjem problema i analizom, plus mogućnost odlučivanja kada probleme eskalirati inženjerskim timovima.

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

Part 1

Kako koristiti naredbu 'Sed' za manipuliranje 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 pohranu, formatiranje datotečnih sustava i konfiguriranje swap particije

Part 5

Montirajte/demontirajte lokalne i mrežne (Samba & NFS) datotečne sustave u Linuxu

Part 6

Sastavljanje particija kao RAID uređaja – Stvaranje sigurnosnih kopija sustava i upravljanje njima

Part 7

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

Part 8

Kako upravljati korisnicima i grupama, dopuštenjima za datoteke i Sudo pristupom

Part 9

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

Part 10

Učenje osnovnog skriptiranja ljuske i rješavanja problema sa datotečnim sustavom

Part 11

Kako upravljati i stvoriti LVM pomoću naredbi vgcreate, lvcreate i lvextend

Part 12

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

Part 13

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

Part 14

Pratite korištenje resursa Linux procesa i postavite ograničenja procesa za svakog korisnika

Part 15

Kako postaviti ili izmijeniti parametre vremena izvođenja jezgre u Linux sustavima

Part 16

Implementacija obvezne kontrole pristupa sa SELinuxom ili AppArmorom u Linuxu

Part 17

Kako postaviti popise kontrole pristupa (ACL) i diskovne kvote za korisnike i grupe

Part 18

Instaliranje mrežnih usluga i konfiguriranje automatskog pokretanja pri dizanju

Part 19

Vrhunski vodič za postavljanje FTP poslužitelja za dopuštanje anonimnih prijava

Part 20

Postavite osnovni DNS poslužitelj rekurzivnog predmemoriranja i konfigurirajte zone za domenu

Part 21

Kako instalirati, osigurati i podesiti performanse MariaDB poslužitelja baze podataka

Part 22

Kako instalirati i konfigurirati NFS poslužitelj za dijeljenje sustava datoteka

Part 23

Kako postaviti Apache s virtualnim hostingom temeljenim na imenu sa SSL certifikatom

Part 24

Kako postaviti Iptables vatrozid za omogućavanje udaljenog pristupa uslugama u Linuxu

Part 25

Kako pretvoriti Linux u usmjerivač za statički i dinamički rukovanje prometom

Part 26

Kako postaviti šifrirane datotečne sustave i zamijeniti ih pomoću alata Cryptsetup

Part 27

Kako pratiti korištenje sustava, ispade i otkloniti probleme s Linux poslužiteljima

Part 28

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

Part 29

Kako provjeriti rad mreže, sigurnost i rješavanje problema

Part 30

Kako instalirati i upravljati virtualnim strojevima i spremnicima

Part 31

Naučite osnove Gita za učinkovito 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šćivanja u Ubuntuu

Ovaj post je dio 3 serije od 33 vodiča, ovdje u ovom dijelu, pokrit ćemo kako arhivirati/komprimirati datoteke i direktorije, postaviti atribute datoteke i pronaći datoteke u datotečnom sustavu, koje su potrebne za LFCS< certifikacijski ispit.

Alati za arhiviranje i kompresiju za Linux

Alat za arhiviranje datoteka grupira 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 s alatom za kompresiju, omogućuje smanjenje veličine diska koja je potrebna za pohranu istih datoteka i informacija.

Linux tar uslužni program

tar skuplja grupu datoteka zajedno u jednu arhivu (koja se obično naziva tar datoteka ili tarball). Ime je izvorno stajalo za tape archiver, ali moramo napomenuti da ovaj alat možemo koristiti za arhiviranje podataka na bilo koji medij za pisanje (ne samo na trake).

Tar se obično koristi s alatom za kompresiju kao što je gzip, bzip2 ili xz za izradu komprimirane arhive.

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

Obično korišteni modifikatori operacije 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 pomoćni programi

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 potrebno za dovršetak operacije i resursi sustava koji se koriste tijekom procesa.

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

Sažimanje datoteka s gzip, bzip2 i xz

Grupirajte sve datoteke u trenutnom radnom direktoriju i komprimirajte dobiveni paket s gzip, bzip2 i xz (molimo obratite pažnju na upotrebu regularnog izraz za određivanje koje bi datoteke trebale biti uključene u paket – ovo je da bi se spriječilo da alat za arhiviranje grupira tarball datoteke stvorene 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]

Popis sadržaja i ažuriranje/dodavanje datoteka Tar arhiva

Ispis sadržaja tarball-a i prikaz iste informacije kao dugi popis imenika. Imajte na umu da se operacije ažuriranja ili dodavanja ne mogu izravno primijeniti na komprimirane datoteke.

Dekompresirajte Tar datoteke

Ako trebate ažurirati ili dodati datoteku u komprimirani tarball, morate dekomprimirati tar datoteku i ažurirati/dodati je, zatim je ponovno 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 usporedite datum i vrijeme izmjene file4 s istim informacijama kao što je prikazano ranije.

Isključite datoteke iz sigurnosnih kopija

Pretpostavimo da želite napraviti sigurnosnu kopiju kućnih direktorija korisnika. Dobra praksa sistemskog administratora bila bi (može biti određena i pravilima tvrtke) isključivanje svih video i audio datoteka iz sigurnosnih kopija.

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

Da biste otkrili audio ili video datoteku, morate provjeriti vrstu datoteke pomoću datoteke. Sljedeća skripta ljuske ć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 Tar Preserving Permissions

Zatim možete vratiti sigurnosnu kopiju u početni korisnički direktorij (user_restore u ovom primjeru), uz očuvanje dopuštenja, pomoću sljedeće naredbe.

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

Korištenje naredbe Find za traženje datoteka

Naredba find koristi se 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 izvesti druge operacije na podudaranjima.

Obično ćemo pretraživati prema imenu, vlasniku, grupi, vrsti, dopuštenjima, datumu i veličini.

Osnovna sintaksa naredbe find je sljedeća:

find [directory_to_search] [expression]

Traženje datoteka rekurzivno prema veličini

Pronađite sve datoteke (-f) u trenutnom direktoriju (.) i 2 poddirektoriju ispod (-maxdepth 3 uključuje trenutni radni direktorij i 2 razine prema dolje) č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

Datoteke s dopuštenjima 777 ponekad se smatraju otvorenim vratima vanjskim napadačima. U svakom slučaju, nije sigurno dopustiti bilo kome da radi bilo što s datotekama. Zauzet ćemo prilično agresivan pristup i izbrisati ih! ('{}' + koristi se za "prikupljanje" rezultata pretraživanja).

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

Traženje datoteka na temelju vremenskih oznaka

Potražite konfiguracijske datoteke u /etc kojima je pristupano (-atime) ili izmijenjeno (-mtime) više (+180) ili manje (-180) nego prije 6 mjeseci ili točno prije 6 mjeseci (180) .

Izmijenite sljedeću naredbu prema donjem primjeru:

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

Postavite dopuštenja za datoteke i osnovne atribute

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

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

Sljedećih devet znakova atributa datoteke naziva se načinom datoteke i predstavlja čitanje (r), pisanje (w) i izvršavanje (x) dopuštenja vlasnika datoteke, vlasnika grupe datoteke i ostalih korisnika (koji se obično nazivaju “svijet”).

Dok dopuštenje za čitanje datoteke omogućuje otvaranje i čitanje iste, isto dopuštenje za direktorij dopušta da njegov sadržaj bude ispisan ako je također postavljeno dopuštenje za izvršavanje. Osim toga, dopuštenje za izvršenje u datoteci omogućuje rukovanje njome kao programom i pokretanje, dok u direktoriju dopušta da se ista u nju učita.

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

chmod [new_mode] file

Gdje je new_mode ili oktalni broj ili izraz koji navodi nova dopuštenja.

Oktalni broj može se pretvoriti iz svog binarnog ekvivalenta, koji se izračunava iz željenih dopuštenja datoteke za vlasnika, grupu i svijet, kako slijedi:

Prisutnost određene dozvole jednaka je potenciji 2 (r=22, w=21, x=20 ), dok je njegov nedostatak jednak 0. Na primjer:

Da biste postavili dopuštenja datoteke kao gore u oktalnom obliku, upišite:

chmod 744 myfile

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

Sve ove “pojedinke” mogu se istovremeno predstaviti slovom a. Dopuštenja se dodjeljuju (ili opozivaju) znakovima + ili -.

Uklonite dopuštenje za izvršenje na skripti svim korisnicima

Kao što smo ranije objasnili, određeno dopuštenje možemo opozvati tako da ispred njega stavimo znak minus i naznačimo treba li ga opozvati za vlasnika, vlasnika grupe ili sve korisnike. Jednolinijski tekst u nastavku može se protumačiti na sljedeći način: Promjena načina rada za sve (a) korisnike, opoziv (-) dopuštenja za izvršenje (x) .

chmod a-x backup.sh

Davanje dopuštenja čitanja, pisanja i izvršavanja za datoteku vlasniku i vlasniku grupe, te dopuštenja čitanja za cijeli svijet.

Kada koristimo 3-znamenkasti oktalni broj za postavljanje dopuštenja za datoteku, prva znamenka označava dopuštenja 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

S vremenom i s praksom, moći ćete odlučiti koja metoda za promjenu načina datoteke vam najbolje odgovara u svakom slučaju. Dugi popis direktorija također prikazuje vlasnika datoteke i njenog grupnog vlasnika (koji služe kao rudimentarna, ali učinkovita kontrola pristupa datotekama u sustavu):

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

chown user:group file

Gdje mora biti prisutan barem korisnik ili grupa.

Primjeri naredbi Chown

Promjena vlasnika datoteke u određenog korisnika.

chown gacanepa sent

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

chown gacanepa:gacanepa TestFile

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

chown :gacanepa email_body.txt
Zaključak

Kao sysadmin morate znati kako izraditi i vratiti sigurnosne kopije, kako pronaći datoteke u svom sustavu i promijeniti njihove atribute, zajedno s nekoliko trikova koji vam mogu olakšati život i spriječiti vas da u budućnosti naiđete na probleme.

Nadam se da će vam savjeti navedeni u ovom članku pomoći da postignete taj cilj. Slobodno dodajte vlastite informacije i ideje u odjeljak za komentare za dobrobit zajednice. Hvala unaprijed!

LFCS e-knjiga sada je dostupna za kupnju. Naručite svoju kopiju već danas i krenite na svoje putovanje do certificiranog administratora Linux sustava!

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

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