Jak tarovat soubory, nastavit oprávnění k souborům a najít soubory v Linuxu
Nedávno Linux Foundation zahájila certifikaci LFCS (Linux Foundation Certified Sysadmin), zcela nový program, jehož účelem je umožnit jednotlivcům provádět základní až středně pokročilé úkoly správy systému na systémech Linux.
To zahrnuje podporu již běžících systémů a služeb, spolu s řešením problémů a analýzou první úrovně a navíc možnost rozhodnout, kdy eskalovat problémy inženýrským týmům.
Série se bude jmenovat Příprava na LFCS (Linux Foundation Certified Sysadmin) části 1 až 33 a pokryje následující témata:
- Part 1
Jak používat příkaz „Sed“ k manipulaci se soubory v Linuxu
- Part 2
Jak nainstalovat a používat Vi/Vim v Linuxu
- Part 3
-
Jak archivovat soubory, nastavovat oprávnění k souborům a vyhledávat soubory v Linuxu
- Part 4
Rozdělení úložných zařízení, formátování souborových systémů a konfigurace odkládacího oddílu
- Part 5
Připojit/odpojit místní a síťové (Samba a NFS) souborové systémy v Linuxu
- Part 6
Sestavení oddílů jako zařízení RAID – Vytváření a správa záloh systému
- Part 7
Správa procesů a služeb spouštění systému (SysVinit, Systemd a Upstart
- Part 8
Jak spravovat uživatele a skupiny, oprávnění k souborům a sudo přístup
- Part 9
Linux Package Management s Yum, RPM, Apt, Dpkg, Aptitude a Zypper
- Part 10
Naučte se základní skriptování Shell a odstraňování problémů se souborovým systémem
- Part 11
Jak spravovat a vytvářet LVM pomocí příkazů vgcreate, lvcreate a lvextend
- Part 12
Jak prozkoumat Linux pomocí nainstalované dokumentace nápovědy a nástrojů
- Part 13
-
Jak konfigurovat a řešit problémy s Grand Unified Bootloader (GRUB)
- Part 14
Monitorujte využití zdrojů linuxových procesů a nastavujte limity procesů na základě jednotlivých uživatelů
- Part 15
Jak nastavit nebo upravit parametry běhu jádra v systémech Linux
- Part 16
Implementace povinného řízení přístupu pomocí SELinux nebo AppArmor v Linuxu
- Part 17
Jak nastavit seznamy řízení přístupu (ACL) a diskové kvóty pro uživatele a skupiny
- Part 18
Instalace síťových služeb a konfigurace automatického spouštění při spouštění
- Part 19
Dokonalý průvodce nastavením FTP serveru pro anonymní přihlášení
- Part 20
Nastavte základní server DNS s rekurzivním ukládáním do mezipaměti a nakonfigurujte zóny pro doménu
- Part 21
Jak nainstalovat, zabezpečit a vyladit výkon databázového serveru MariaDB
- Part 22
Jak nainstalovat a nakonfigurovat server NFS pro sdílení systému souborů
- Part 23
-
Jak nastavit Apache s virtuálním hostingem založeným na názvu s certifikátem SSL
- Part 24
Jak nastavit Iptables Firewall pro povolení vzdáleného přístupu ke službám v Linuxu
- Part 25
Jak proměnit Linux ve směrovač, který zvládne provoz staticky a dynamicky
- Part 26
Jak nastavit šifrované systémy souborů a vyměnit je pomocí nástroje Cryptsetup Tool
- Part 27
Jak sledovat využití systému, výpadky a odstraňování problémů se servery Linux
- Part 28
Jak nastavit síťové úložiště pro instalaci nebo aktualizaci balíčků
- Part 29
Jak auditovat výkon sítě, zabezpečení a odstraňování problémů
- Part 30
Jak nainstalovat a spravovat virtuální stroje a kontejnery
- Part 31
Naučte se základy Git pro efektivní správu projektů
- Part 32
Průvodce pro začátečníky konfigurací IPv4 a IPv6 adres v Linuxu
- Part 33
Průvodce pro začátečníky vytvářením síťových vazeb a přemostění v Ubuntu
Tento příspěvek je částí 3 série 33 výukových programů, zde v této části se budeme zabývat tím, jak archivovat/komprimovat soubory a adresáře, nastavovat atributy souborů a najít soubory v souborovém systému, které jsou vyžadovány pro LFCS< certifikační zkouška.
Archivační a komprimační nástroje pro Linux
Nástroj pro archivaci souborů seskupuje sadu souborů do jednoho samostatného souboru, který můžeme zálohovat na několik typů médií, přenášet po síti nebo odesílat e-mailem.
Nejčastěji používaným archivačním nástrojem v Linuxu je příkaz tar. Když se archivační nástroj používá spolu s nástrojem pro kompresi, umožňuje zmenšit velikost disku, která je potřebná k uložení stejných souborů a informací.
Linux tar Utility
tar sdružuje skupinu souborů do jednoho archivu (běžně nazývaného soubor tar nebo tarball). Název původně znamenal páskový archivátor, ale musíme poznamenat, že tento nástroj můžeme použít k archivaci dat na jakýkoli druh zapisovatelného média (nejen na pásky).
Tar se běžně používá s komprimačním nástrojem, jako je gzip, bzip2 nebo xz k vytvoření komprimovaného tarballu.
Základní syntaxe příkazu tar je následující:
tar [options] [pathname ...]
Kde ...
představuje výraz používaný k určení, se kterými soubory se má pracovat.
Nejčastěji používané příkazy Tar
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 |
Normálně používané modifikátory operace dehtu
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 |
Linuxové nástroje Gzip, Bzip2 a Xz
Gzip je nejstarší komprimační nástroj a poskytuje nejnižší kompresi, zatímco bzip2 poskytuje vylepšenou kompresi. Kromě toho je xz nejnovější, ale (obvykle) poskytuje nejlepší kompresi.
Výhody nejlepší komprese mají svou cenu: čas potřebný k dokončení operace a systémové prostředky použité během procesu.
Normálně mají soubory tar komprimované těmito nástroji přípony .gz
, .bz2
nebo .xz
. V následujících příkladech budeme používat tyto soubory: soubor1, soubor2, soubor3, soubor4 a soubor5.
Komprese souborů pomocí gzip, bzip2 a xz
Seskupte všechny soubory v aktuálním pracovním adresáři a zkomprimujte výsledný balíček pomocí gzip, bzip2 a xz (všimněte si prosím použití běžného výraz pro určení, které soubory mají být zahrnuty do balíčku – to má zabránit archivačnímu nástroji seskupovat tarbally vytvořené v předchozích krocích).
tar czf myfiles.tar.gz file[0-9]
tar cjf myfiles.tar.bz2 file[0-9]
tar cJf myfile.tar.xz file[0-9]
Seznam obsahu a aktualizace/připojování souborů archivu Tar
Vypište obsah tarballu a zobrazte stejné informace jako dlouhý výpis adresáře. Pamatujte, že operace aktualizace nebo připojení nelze použít přímo na komprimované soubory.
Dekomprimujte soubory Tar
Pokud potřebujete aktualizovat nebo přidat soubor do komprimovaného tarballu, musíte soubor tar rozbalit a aktualizovat/přidat k němu a poté jej znovu zkomprimovat.
tar tvf [tarball]
Spusťte některý z následujících příkazů:
gzip -d myfiles.tar.gz [#1]
bzip2 -d myfiles.tar.bz2 [#2]
xz -d myfiles.tar.xz [#3]
Odstraňte nebo přidejte soubory do archivu Tar
tar --delete --file myfiles.tar file4 (deletes the file inside the tarball)
tar --update --file myfiles.tar file4 (adds the updated file)
a
gzip myfiles.tar [ if you choose #1 above ]
bzip2 myfiles.tar [ if you choose #2 above ]
xz myfiles.tar [ if you choose #3 above ]
Konečně,
tar tvf [tarball] #again
a porovnejte datum a čas změny souboru4 se stejnými informacemi, jaké byly uvedeny dříve.
Vyloučit soubory ze záloh
Předpokládejme, že chcete provést zálohu domovských adresářů uživatele. Dobrou praxí správce systému by bylo (může být také specifikováno firemními zásadami) vyloučit ze záloh všechny video a audio soubory.
Možná by vaším prvním přístupem bylo vyloučit ze zálohy všechny soubory s příponou .mp3
nebo .mp4
(nebo jinými příponami). Co když máte chytrého uživatele, který dokáže změnit příponu na .txt
nebo .bkp
, váš přístup vám moc nepomůže.
Chcete-li detekovat zvukový nebo video soubor, musíte pomocí souboru zkontrolovat jeho typ souboru. Tuto práci udělá následující skript shellu.
#!/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/*
Obnovte zálohu s oprávněními pro zachování Tar
Poté můžete pomocí následujícího příkazu obnovit zálohu do domovského adresáře původního uživatele (v tomto příkladu user_restore) se zachováním oprávnění.
tar xjf backupfile.tar.bz2 --directory user_restore --same-permissions
Použití příkazu Najít k vyhledání souborů
Příkaz find se používá k rekurzivnímu vyhledávání souborů nebo adresářů v adresářových stromech, které odpovídají určitým charakteristikám, a poté může odpovídající soubory nebo adresáře buď vytisknout, nebo s nimi provést jiné operace.
Normálně budeme hledat podle názvu, vlastníka, skupiny, typu, oprávnění, data a velikosti.
Základní syntaxe příkazu find je následující:
find [directory_to_search] [expression]
Vyhledávání souborů rekurzivně podle velikosti
Najít všechny soubory (-f
) v aktuálním adresáři (.
) a 2
podadresářích níže (-maxdepth 3
zahrnuje aktuální pracovní adresář a 2 úrovně níže), jehož velikost (-size
) je větší než 2 MB.
find . -maxdepth 3 -type f -size +2M
Hledání a mazání souborů, které splňují určitá kritéria
Soubory s oprávněními 777 jsou někdy považovány za otevřené dveře pro externí útočníky. V každém případě není bezpečné nechat kohokoli se soubory cokoliv dělat. Zaujmeme poměrně agresivní přístup a smažeme je! (‚{}
‘ +
se používá ke „sbírání“ výsledků vyhledávání).
find /home/user -perm 777 -exec rm '{}' +
Hledání souborů na základě časových razítek
Vyhledejte konfigurační soubory v /etc, které byly zpřístupněny (-atime
) nebo upraveny (-mtime
) více (+180) nebo méně (-180) než před 6 měsíci nebo přesně před 6 měsíci (180) .
Upravte následující příkaz podle níže uvedeného příkladu:
find /etc -iname "*.conf" -mtime -180 -print
Nastavte oprávnění k souboru a základní atributy
Prvních 10 znaků ve výstupu ls -l jsou atributy souboru. První z těchto znaků se používá k označení typu souboru:
-
: běžný soubor-d
: adresář-l
: symbolický odkaz-c
: znakové zařízení (které s daty zachází jako s proudem bajtů, tj. s terminálem)-b
: blokové zařízení (které zpracovává data v blocích, tj. úložná zařízení)
Dalších devět znaků atributů souboru se nazývá režim souboru a představuje čtení (r
), zápis (w
) a spouštění (x
) oprávnění vlastníka souboru, vlastníka skupiny souboru a ostatních uživatelů (běžně označovaných jako „svět “).
Zatímco oprávnění ke čtení souboru umožňuje jeho otevření a čtení, stejné oprávnění k adresáři umožňuje vypsat jeho obsah, pokud je také nastaveno oprávnění ke spuštění. Kromě toho oprávnění ke spuštění v souboru umožňuje, aby s ním bylo zacházeno jako s programem a spouštěn, zatímco v adresáři umožňuje totéž do něj cd’ovat.
Oprávnění k souboru se mění pomocí příkazu chmod, jehož základní syntaxe je následující:
chmod [new_mode] file
Kde new_mode je buď osmičkové číslo, nebo výraz, který určuje nová oprávnění.
Osmičkové číslo lze převést z jeho binárního ekvivalentu, který se vypočítá z požadovaných oprávnění k souboru pro vlastníka, skupinu a svět, a to následovně:
Přítomnost určitého oprávnění se rovná mocnině 2 (r=22, w=21, x=20 ), zatímco jeho nepřítomnost se rovná 0. Například:
Chcete-li nastavit oprávnění souboru jako výše v osmičkovém tvaru, zadejte:
chmod 744 myfile
Můžete také nastavit režim souboru pomocí výrazu, který označuje práva vlastníka písmenem u
, práva vlastníka skupiny písmenem g
a zbytek pomocí o
.
Všichni tito „jednotlivci“ mohou být současně reprezentováni písmenem a
. Oprávnění se udělují (nebo ruší) pomocí znaků +
nebo -
, v daném pořadí.
Odebrat oprávnění ke spouštění ve skriptu všem uživatelům
Jak jsme vysvětlili dříve, určité oprávnění můžeme zrušit tak, že před něj přidáme znaménko mínus a uvedeme, zda je třeba je odvolat vlastníkovi, vlastníkovi skupiny nebo všem uživatelům. Níže uvedený jednoduchý řádek lze interpretovat následovně: Změnit režim pro všechny (a
) uživatele, zrušit (-
) spustit oprávnění (x
) .
chmod a-x backup.sh
Udělení oprávnění čtení, zápis a spouštění pro soubor vlastníkovi a vlastníkovi skupiny a oprávnění ke čtení celému světu.
Když k nastavení oprávnění pro soubor používáme 3místné osmičkové číslo, první číslice označuje oprávnění pro vlastníka, druhá číslice pro vlastníka skupiny a třetí číslice pro všechny ostatní:
- Vlastník: (r=22 + w=21 + x=20=7)
- Vlastník skupiny: (r=22 + w=21 + x=20=7)
- Svět: (r=22 + w=0 + x=0=4),
chmod 774 myfile
Časem a praxí se budete moci rozhodnout, která metoda změny režimu souboru vám v každém případě nejlépe vyhovuje. Dlouhý seznam adresářů také ukazuje vlastníka souboru a vlastníka jeho skupiny (které slouží jako základní, ale efektivní řízení přístupu k souborům v systému):
Vlastnictví souboru se změní pomocí příkazu chown. Vlastníka a vlastníka skupiny lze změnit současně nebo samostatně. Jeho základní syntaxe je následující:
chown user:group file
Kde musí být přítomen alespoň uživatel nebo skupina.
Příklady příkazů Chown
Změna vlastníka souboru na určitého uživatele.
chown gacanepa sent
Změna vlastníka a skupiny souboru na konkrétní pár uživatel:skupina.
chown gacanepa:gacanepa TestFile
Změna pouze vlastníka skupiny souboru na určitou skupinu. Poznamenejte si dvojtečku před názvem skupiny.
chown :gacanepa email_body.txt
Závěr
Jako správce systému musíte vědět, jak vytvářet a obnovovat zálohy, jak hledat soubory ve vašem systému a měnit jejich atributy, spolu s několika triky, které vám mohou usnadnit život a zabrání vám v budoucích problémech.
Doufám, že vám tipy uvedené v tomto článku pomohou dosáhnout tohoto cíle. Neváhejte přidávat své vlastní informace a nápady do sekce komentářů ve prospěch komunity. Díky předem!
eKniha LFCS je nyní k dispozici k zakoupení. Objednejte si svou kopii ještě dnes a začněte svou cestu stát se certifikovaným správcem systému Linux!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
V neposlední řadě zvažte nákup voucheru na zkoušku pomocí následujících odkazů, abyste nám vydělali malou provizi, která nám pomůže tuto knihu aktualizovat.