Zoeken op website

Hoe bestanden te tareren, bestandsrechten in te stellen en bestanden te zoeken in Linux


Onlangs is de Linux Foundation gestart met de LFCS-certificering (Linux Foundation Certified Sysadmin), een gloednieuw programma dat tot doel heeft individuen in staat te stellen basis- tot middelmatige systeembeheertaken uit te voeren op Linux-systemen.

Dit omvat het ondersteunen van reeds actieve systemen en services, samen met probleemoplossing en analyse op het eerste niveau, plus de mogelijkheid om te beslissen wanneer problemen moeten worden geëscaleerd naar technische teams.

De serie heet Voorbereiding op de LFCS (Linux Foundation Certified Sysadmin) delen 1 tot en met 33 en behandelt de volgende onderwerpen:

Part 1

Hoe u het ‘Sed’-commando gebruikt om bestanden in Linux te manipuleren

Part 2

Hoe Vi/Vim onder Linux te installeren en te gebruiken

Part 3

Bestanden archiveren, bestandsrechten instellen en bestanden zoeken in Linux

Part 4

Partitioneren van opslagapparaten, formatteren van bestandssystemen en configureren van swappartitie

Part 5

Mount/Unmount lokale en netwerkbestandssystemen (Samba en NFS) in Linux

Part 6

Partities samenstellen als RAID-apparaten – Systeemback-ups maken en beheren

Part 7

Systeemopstartprocessen en -services beheren (SysVinit, Systemd en Upstart

Part 8

Hoe u gebruikers en groepen, bestandsrechten en Sudo-toegang beheert

Part 9

Linux-pakketbeheer met Yum, RPM, Apt, Dpkg, Aptitude en Zypper

Part 10

Leren van basisshellscripts en probleemoplossing voor bestandssystemen

Part 11

LVM beheren en creëren met de opdrachten vgcreate, lvcreate en lvextend

Part 12

Hoe Linux te verkennen met geïnstalleerde Help-documentatie en -hulpmiddelen

Part 13

Grand Unified Bootloader (GRUB) configureren en problemen oplossen

Part 14

Bewaak het resourcegebruik van Linux-processen en stel proceslimieten per gebruiker in

Part 15

Kernel Runtime-parameters instellen of wijzigen in Linux-systemen

Part 16

Implementatie van verplichte toegangscontrole met SELinux of AppArmor in Linux

Part 17

Toegangscontrolelijsten (ACL's) en schijfquota instellen voor gebruikers en groepen

Part 18

Netwerkservices installeren en automatisch opstarten bij opstarten configureren

Part 19

Een ultieme handleiding voor het instellen van een FTP-server om anonieme aanmeldingen toe te staan

Part 20

Stel een Basic Recursive Caching DNS-server in en configureer zones voor domein

Part 21

Hoe u de MariaDB-databaseserver installeert, beveiligt en de prestaties afstemt

Part 22

Hoe u NFS Server installeert en configureert voor het delen van bestandssystemen

Part 23

Apache instellen met op naam gebaseerde virtuele hosting met SSL-certificaat

Part 24

Hoe u een Iptables-firewall instelt om externe toegang tot services in Linux mogelijk te maken

Part 25

Hoe u van een Linux een router kunt maken die verkeer statisch en dynamisch afhandelt

Part 26

Hoe u gecodeerde bestandssystemen kunt instellen en uitwisselen met behulp van de Cryptsetup Tool

Part 27

Systeemgebruik en -storingen controleren en problemen met Linux-servers oplossen

Part 28

Hoe u een netwerkrepository instelt om pakketten te installeren of bij te werken

Part 29

Netwerkprestaties, beveiliging en probleemoplossing controleren

Part 30

Hoe u virtuele machines en containers installeert en beheert

Part 31

Leer de basisprincipes van Git om projecten efficiënt te beheren

Part 32

Een beginnershandleiding voor het configureren van IPv4- en IPv6-adressen in Linux

Part 33

Een beginnershandleiding voor het creëren van netwerkbinding en -bridging in Ubuntu

Dit bericht is deel 3 van een serie met 33 tutorials. Hier in dit deel bespreken we hoe je bestanden en mappen kunt archiveren/comprimeren, bestandskenmerken kunt instellen en bestanden op het bestandssysteem kunt vinden die nodig zijn voor de LFCS< certificeringsexamen.

Archiverings- en compressietools voor Linux

Een hulpmiddel voor bestandsarchivering groepeert een reeks bestanden in één enkel zelfstandig bestand waarvan we een back-up kunnen maken op verschillende soorten media, over een netwerk kunnen worden overgedragen of via e-mail kunnen worden verzonden.

Het meest gebruikte archiveringshulpprogramma in Linux is het tar-commando. Wanneer een archiveringshulpprogramma samen met een compressiehulpmiddel wordt gebruikt, kunt u de schijfgrootte verkleinen die nodig is om dezelfde bestanden en informatie op te slaan.

Linux tar-hulpprogramma

tar bundelt een groep bestanden in één enkel archief (gewoonlijk een tar-bestand of tarball genoemd). De naam stond oorspronkelijk voor tape archiver, maar we moeten er rekening mee houden dat we deze tool kunnen gebruiken om gegevens te archiveren op elk soort beschrijfbare media (niet alleen op tapes).

Tar wordt normaal gesproken gebruikt met een compressietool zoals gzip, bzip2 of xz om een gecomprimeerde tarball te produceren.

De basissyntaxis van het tar commando is als volgt:

tar [options] [pathname ...]

Waarbij ... de expressie vertegenwoordigt die wordt gebruikt om aan te geven op welke bestanden actie moet worden ondernomen.

Meest gebruikte Tar-opdrachten

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

Normaal gebruikte modificatoren voor teerwerking

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- en Xz-hulpprogramma's

Gzip is het oudste compressiehulpmiddel en biedt de minste compressie, terwijl bzip2 verbeterde compressie biedt. Bovendien is xz de nieuwste, maar biedt (meestal) de beste compressie.

De voordelen van de beste compressie hebben een prijs: de tijd die nodig is om de bewerking te voltooien en de systeembronnen die tijdens het proces worden gebruikt.

Normaal gesproken hebben tar-bestanden die met deze hulpprogramma's zijn gecomprimeerd respectievelijk de extensie .gz, .bz2 of .xz. In de volgende voorbeelden gebruiken we deze bestanden: bestand1, bestand2, bestand3, bestand4 en bestand5.

Bestanden comprimeren met gzip, bzip2 en xz

Groepeer alle bestanden in de huidige werkmap en comprimeer de resulterende bundel met gzip, bzip2 en xz (let op het gebruik van een gewone expressie om te specificeren welke bestanden in de bundel moeten worden opgenomen – dit is om te voorkomen dat de archiveringstool de tarballs groepeert die in voorgaande stappen zijn gemaakt).

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

Lijstinhoud en bijwerken/toevoegen van bestanden Tararchief

Geef de inhoud van een tarball weer en geef dezelfde informatie weer als een lange directorylijst. Houd er rekening mee dat de bewerkingen update of toevoegen niet rechtstreeks op gecomprimeerde bestanden kunnen worden toegepast.

Decomprimeer Tar-bestanden

Als u een bestand moet bijwerken of toevoegen aan een gecomprimeerde tarball, moet u het tar-bestand decomprimeren en bijwerken/aan het bestand toevoegen, en het vervolgens opnieuw comprimeren.

tar tvf [tarball]

Voer een van de volgende opdrachten uit:

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

Verwijder of voeg bestanden toe aan het Tar-archief

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

En

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

Eindelijk,

tar tvf [tarball] #again

en vergelijk de wijzigingsdatum en -tijd van file4 met dezelfde informatie als eerder getoond.

Bestanden uitsluiten van back-ups

Stel dat u een back-up wilt maken van de thuis-mappen van de gebruiker. Een goede systeembeheerderpraktijk zou zijn (kan ook worden gespecificeerd door het bedrijfsbeleid) om alle video- en audiobestanden uit te sluiten van back-ups.

Misschien is uw eerste aanpak het uitsluiten van de back-up van alle bestanden met de extensie .mp3 of .mp4 (of andere extensies). Wat als u een slimme gebruiker heeft die de extensie kan wijzigen in .txt of .bkp, dan zal uw aanpak u niet veel goeds opleveren.

Om een audio- of videobestand te detecteren, moet u het bestandstype controleren met een bestand. Het volgende shellscript zal het werk doen.

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

Back-up terugzetten met Tar-behoudsrechten

Vervolgens kunt u de back-up terugzetten naar de thuismap van de oorspronkelijke gebruiker (user_restore in dit voorbeeld), met behoud van de rechten, met de volgende opdracht.

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

Gebruik de opdracht Zoeken om naar bestanden te zoeken

Het find-commando wordt gebruikt om recursief door mappenbomen te zoeken naar bestanden of mappen die aan bepaalde kenmerken voldoen, en kan vervolgens de overeenkomende bestanden of mappen afdrukken of andere bewerkingen op de overeenkomsten uitvoeren.

Normaal gesproken zoeken we op naam, eigenaar, groep, type, machtigingen, datum en grootte.

De basissyntaxis van het find commando is als volgt:

find [directory_to_search] [expression]

Bestanden recursief zoeken op grootte

Zoek alle bestanden (-f) in de huidige map (.) en 2 submappen hieronder (-max Depth 3 bevat de huidige werkmap en twee niveaus lager) waarvan de grootte (-size) groter is dan 2 MB.

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

Bestanden zoeken en verwijderen die aan bepaalde criteria voldoen

Bestanden met 777-rechten worden soms beschouwd als een open deur voor externe aanvallers. Hoe dan ook, het is niet veilig om iemand iets met bestanden te laten doen. We zullen een nogal agressieve aanpak hanteren en ze verwijderen! (‘{}+ wordt gebruikt om de resultaten van de zoekopdracht te “verzamelen”).

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

Bestanden zoeken op basis van tijdstempels

Zoek naar configuratiebestanden in /etc die zijn geopend (-atime) of gewijzigd (-mtime) meer (+180) of minder (-180) dan 6 maanden geleden of precies 6 maanden geleden (180) .

Wijzig de volgende opdracht volgens het onderstaande voorbeeld:

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

Stel bestandsrechten en basiskenmerken in

De eerste 10 tekens in de uitvoer van ls -l zijn de bestandskenmerken. Het eerste van deze tekens wordt gebruikt om het bestandstype aan te geven:

  • - : een normaal bestand
  • -d : een map
  • -l : een symbolische link
  • -c: een karakterapparaat (dat gegevens behandelt als een stroom bytes, d.w.z. een terminal)
  • -b : een blokapparaat (dat gegevens in blokken verwerkt, d.w.z. opslagapparaten)

De volgende negen tekens van de bestandskenmerken worden de bestandsmodus genoemd en vertegenwoordigen de lees- (r), schrijf- (w) en uitvoerbare (x) machtigingen van de eigenaar van het bestand, de groepseigenaar van het bestand en de rest van de gebruikers (gewoonlijk “de wereld” genoemd).

Terwijl de leesmachtiging voor een bestand toestaat dat dit bestand wordt geopend en gelezen, staat dezelfde machtiging voor een map toe dat de inhoud ervan wordt weergegeven als de uitvoermachtiging ook is ingesteld. Bovendien maakt de uitvoeringstoestemming in een bestand het mogelijk dat het als een programma wordt behandeld en uitgevoerd, terwijl het in een map mogelijk maakt dat hetzelfde daarin wordt opgeslagen.

Bestandsrechten worden gewijzigd met de opdracht chmod, waarvan de basissyntaxis als volgt is:

chmod [new_mode] file

Waarbij new_mode een octaal getal is of een expressie die de nieuwe rechten specificeert.

Het octale getal kan als volgt worden geconverteerd van het binaire equivalent, dat wordt berekend op basis van de gewenste bestandsrechten voor de eigenaar, de groep en de wereld:

De aanwezigheid van bepaalde toestemming is gelijk aan een macht van 2 (r=22, w=21, x=20 ), terwijl de afwezigheid ervan gelijk is aan 0. Bijvoorbeeld:

Om de rechten van het bestand zoals hierboven in octale vorm in te stellen, typt u:

chmod 744 myfile

U kunt ook de modus van een bestand instellen met behulp van een expressie die de rechten van de eigenaar aangeeft met de letter u, de rechten van de groepseigenaar met de letter g en de rest met o.

Al deze “individuen ” kunnen tegelijkertijd worden weergegeven met de letter a. Toestemmingen worden verleend (of ingetrokken) met respectievelijk de tekens + of -.

Verwijder de uitvoeringstoestemming voor een script voor alle gebruikers

Zoals we eerder hebben uitgelegd, kunnen we een bepaalde toestemming intrekken door er een minteken voor te zetten en aan te geven of deze moet worden ingetrokken voor de eigenaar, de groepseigenaar of alle gebruikers. De onderstaande oneliner kan als volgt worden geïnterpreteerd: Modus wijzigen voor alle (a) gebruikers, intrekken (-) uitvoerrechten (x) .

chmod a-x backup.sh

Het verlenen van lees, schrijf en uitvoer rechten voor een bestand aan de eigenaar en groepseigenaar, en leesrechten voor de hele wereld.

Wanneer we een achtcijferig getal van drie cijfers gebruiken om de machtigingen voor een bestand in te stellen, geeft het eerste cijfer de machtigingen voor de eigenaar aan, het tweede cijfer voor de groepseigenaar en het derde cijfer voor alle anderen:

  • Eigenaar: (r=22 + w=21 + x=20=7)
  • Groepseigenaar: (r=22 + w=21 + x=20=7)
  • Wereld: (r=22 + w=0 + x=0=4),
chmod 774 myfile

Na verloop van tijd, en met oefening, zult u in staat zijn om te beslissen welke methode voor het wijzigen van een bestandsmodus in elk geval het beste voor u werkt. Een lange directorylijst toont ook de eigenaar van het bestand en de groepseigenaar (die dienen als een rudimentaire maar effectieve toegangscontrole tot bestanden in een systeem):

Het bestandseigendom wordt gewijzigd met de opdracht chow. De eigenaar en de groepseigenaar kunnen tegelijkertijd of afzonderlijk worden gewijzigd. De basissyntaxis is als volgt:

chown user:group file

Waar minimaal een gebruiker of groep aanwezig moet zijn.

Chown-opdrachtvoorbeelden

De eigenaar van een bestand wijzigen in een bepaalde gebruiker.

chown gacanepa sent

De eigenaar en groep van een bestand wijzigen in een specifiek gebruiker:groep-paar.

chown gacanepa:gacanepa TestFile

Alleen de groepseigenaar van een bestand wijzigen in een bepaalde groep. Let op de dubbele punt vóór de naam van de groep.

chown :gacanepa email_body.txt
Conclusie

Als systeembeheerder moet u weten hoe u back-ups kunt maken en herstellen, hoe u bestanden in uw systeem kunt vinden en hun kenmerken kunt wijzigen, samen met een paar trucs die uw leven gemakkelijker kunnen maken en voorkomen dat u in de toekomst tegen problemen aanloopt.

Ik hoop dat de tips in dit artikel je zullen helpen dat doel te bereiken. Voel je vrij om je eigen informatie en ideeën toe te voegen in het opmerkingengedeelte, ten behoeve van de gemeenschap. Bij voorbaat bedankt!

Het LFCS eBook is nu te koop. Bestel vandaag nog uw exemplaar en begin uw reis om een gecertificeerde Linux-systeembeheerder te worden!

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

Als laatste, maar daarom niet minder belangrijk, kunt u overwegen om uw examenvoucher te kopen via de volgende links. Zo verdient u een kleine commissie, waarmee we dit boek up-to-date kunnen houden.