Tar-tiedostojen määrittäminen, tiedostojen käyttöoikeuksien asettaminen ja tiedostojen etsiminen Linuxissa


Äskettäin Linux Foundation aloitti LFCS (Linux Foundation Certified Sysadmin) -sertifioinnin, aivan uuden ohjelman, jonka tarkoituksena on antaa henkilöille mahdollisuus suorittaa perus- ja keskitason järjestelmänhallintatehtäviä Linux-järjestelmissä.

Tämä sisältää jo käynnissä olevien järjestelmien ja palveluiden tukemisen sekä ensimmäisen tason vianmäärityksen ja analyysin sekä mahdollisuuden päättää, milloin ongelmat on eskaloitu suunnittelutiimeille.

Sarjan nimi on Preparation for the LFCS (Linux Foundation Certified Sysadmin) osien 1–33 ja se kattaa seuraavat aiheet:

Part 1

Kuinka käyttää Sed-komentoa tiedostojen manipuloimiseen Linuxissa

Part 2

Vi/Vimin asentaminen ja käyttö Linuxissa

Part 3

Tiedostojen arkistointi, tiedostojen käyttöoikeuksien määrittäminen ja tiedostojen etsiminen Linuxissa

Part 4

Tallennuslaitteiden osiointi, tiedostojärjestelmien muotoilu ja sivutusosion määrittäminen

Part 5

Liitä/irrota paikallis- ja verkkotiedostojärjestelmät (Samba & NFS) Linuxissa

Part 6

Osioiden kokoaminen RAID-laitteiksi – Järjestelmän varmuuskopioiden luominen ja hallinta

Part 7

Järjestelmän käynnistysprosessien ja -palvelujen hallinta (SysVinit, Systemd ja Upstart

Part 8

Käyttäjien ja ryhmien, tiedostojen käyttöoikeuksien ja Sudo Accessin hallinta

Part 9

Linux-pakettien hallinta Yumin, RPM:n, Apt:n, Dpkg:n, Aptituden ja Zypperin avulla

Part 10

Shell-komentosarjan ja tiedostojärjestelmän vianmäärityksen oppiminen

Part 11

LVM:n hallinta ja luominen vgcreate-, lvcreate- ja lvextend-komennoilla

Part 12

Linuxin tutkiminen asennettujen ohjedokumenttien ja työkalujen avulla

Part 13

Grand Unified Bootloaderin (GRUB) määrittäminen ja vianmääritys

Part 14

Tarkkaile Linux-prosessien resurssien käyttöä ja aseta prosessirajoituksia käyttäjäkohtaisesti

Part 15

Kuinka asettaa tai muokata ytimen ajonaikaisia parametreja Linux-järjestelmissä

Part 16

Pakollisen pääsynhallinnan käyttöönotto SELinuxilla tai AppArmorilla Linuxissa

Part 17

Käyttöoikeusluetteloiden (ACL) ja levykiintiöiden asettaminen käyttäjille ja ryhmille

Part 18

Verkkopalvelujen asentaminen ja automaattisen käynnistyksen määrittäminen käynnistyksen yhteydessä

Part 19

Lopullinen opas FTP-palvelimen määrittämiseen anonyymien kirjautumisten sallimiseksi

Part 20

Määritä perusrekursiivisen välimuistin DNS-palvelin ja määritä alueet verkkotunnukselle

Part 21

MariaDB-tietokantapalvelimen asentaminen, suojaus ja suorituskyvyn viritys

Part 22

NFS-palvelimen asentaminen ja määrittäminen tiedostojärjestelmän jakamista varten

Part 23

Kuinka määrittää Apache nimipohjaisella virtuaalipalvelimella SSL-sertifikaatilla

Part 24

Iptables-palomuurin määrittäminen mahdollistamaan palvelujen etäkäyttö Linuxissa

Part 25

Kuinka tehdä Linuxista reititin, joka hallitsee liikennettä staattisesti ja dynaamisesti

Part 26

Salattujen tiedostojärjestelmien määrittäminen ja vaihtaminen Cryptsetup Toolin avulla

Part 27

Kuinka seurata järjestelmän käyttöä, katkoksia ja vianmääritys Linux-palvelimia

Part 28

Verkkovaraston määrittäminen pakettien asentamista tai päivittämistä varten

Part 29

Verkon suorituskyvyn, suojauksen ja vianmäärityksen tarkastaminen

Part 30

Kuinka asentaa ja hallita virtuaalikoneita ja säilöjä

Part 31

Opi Gitin perusteet projektien tehokkaaseen hallintaan

Part 32

Aloittelijan opas IPv4- ja IPv6-osoitteiden määrittämiseen Linuxissa

Part 33

Aloittelijan opas verkkoliitoksen ja siltojen luomiseen Ubuntussa

Tämä viesti on osa 3 33 opetusohjelman sarjasta, tässä osassa käsittelemme tiedostojen ja hakemistojen arkistointia/pakkausta, tiedostomääritteiden asettamista ja tiedostojen löytämistä tiedostojärjestelmästä, joita tarvitaan LFCS:ssä<. sertifiointikoe.

Arkistointi- ja pakkaustyökalut Linuxille

Tiedostojen arkistointityökalu ryhmittelee joukon tiedostoja yhdeksi erilliseksi tiedostoksi, jonka voimme varmuuskopioida useille mediatyypeille, siirtää verkon yli tai lähettää sähköpostitse.

Linuxissa yleisimmin käytetty arkistointiapuohjelma on tar-komento. Kun arkistointiapuohjelmaa käytetään yhdessä pakkaustyökalun kanssa, se mahdollistaa samojen tiedostojen ja tietojen tallentamiseen tarvittavan levyn koon pienentämisen.

Linux tar -apuohjelma

tar yhdistää joukon tiedostoja yhdeksi arkistoon (jota kutsutaan yleisesti tar-tiedostoksi tai tarballiksi). Nimi tarkoitti alun perin nauha-arkistointia, mutta meidän on huomioitava, että voimme käyttää tätä työkalua tietojen arkistointiin mille tahansa kirjoitettavalle medialle (ei vain nauhoille).

Taraa käytetään tavallisesti pakkaustyökalun, kuten gzip, bzip2 tai xz, kanssa pakatun tarballin tuottamiseksi.

tar-komennon perussyntaksi on seuraava:

tar [options] [pathname ...]

Missä ... on lauseke, jota käytetään määrittämään, mihin tiedostoihin tulee toimia.

Yleisimmin käytetyt tervakomennot

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

Normaalisti käytetyt tervan toiminnan muokkaajat

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- ja Xz-apuohjelmat

Gzip on vanhin pakkaustyökalu ja tarjoaa vähiten pakkausta, kun taas bzip2 parantaa pakkausta. Lisäksi xz on uusin, mutta (yleensä) tarjoaa parhaan pakkauksen.

Parhaan pakkauksen eduilla on hinta: toiminnon suorittamiseen kuluva aika ja prosessin aikana käytetyt järjestelmäresurssit.

Normaalisti näillä apuohjelmilla pakatuilla tar-tiedostoilla on .gz-, .bz2- tai .xz-tunniste, vastaavasti. Seuraavissa esimerkeissä käytämme näitä tiedostoja: tiedosto1, tiedosto2, tiedosto3, tiedosto4 ja tiedosto5.

Tiedostojen pakkaaminen gzip-, bzip2- ja xz-ohjelmilla

Ryhmittele kaikki nykyisen työhakemiston tiedostot ja pakkaa tuloksena oleva nippu komennoilla gzip, bzip2 ja xz (huomaa, että käytät tavallista lauseke määrittää, mitkä tiedostot tulee sisällyttää nippuun – tämä estää arkistointityökalua ryhmittelemästä aiemmissa vaiheissa luotuja tarballeja).

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

Luettelo sisällöstä ja tiedostojen päivittäminen/lisääminen Tar Arkisto

Listaa tarballluettelon sisältö ja näytä samat tiedot kuin pitkä hakemistolistaus. Huomaa, että päivitys tai liitä-toimintoja ei voi käyttää suoraan pakatuissa tiedostoissa.

Pura tervatiedostot

Jos sinun on päivitettävä tai liitettävä tiedosto pakattuun tarballiin, sinun on purettava tar-tiedoston pakkaus ja päivitettävä/lisättävä se ja pakattava se sitten uudelleen.

tar tvf [tarball]

Suorita jokin seuraavista komennoista:

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

Poista tai lisää tiedostoja Tar-arkistoon

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

ja

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

Lopuksi,

tar tvf [tarball] #again

ja vertaa tiedoston4 muokkauspäivää ja -aikaa samoihin tietoihin kuin aiemmin.

Sulje tiedostot pois varmuuskopioista

Oletetaan, että haluat tehdä varmuuskopion käyttäjän kotihakemistoista. Hyvä järjestelmänvalvojan käytäntö olisi (voi myös määrätä yrityksen käytännöissä) sulkea pois kaikki video- ja äänitiedostot varmuuskopioista.

Ehkä ensimmäinen tapasi on jättää varmuuskopiosta pois kaikki tiedostot, joiden tunniste on .mp3 tai .mp4 (tai jokin muu tiedostopääte). Entä jos sinulla on fiksu käyttäjä, joka voi muuttaa laajennuksen muotoon .txt tai .bkp, lähestymistapasi ei hyödytä sinua.

Jotta voit havaita ääni- tai videotiedoston, sinun on tarkistettava sen tiedostotyyppi tiedostolla. Seuraava komentosarja tekee työn.

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

Palauta varmuuskopio tervan säilyttämisoikeuksilla

Voit sitten palauttaa varmuuskopion alkuperäisen käyttäjän kotihakemistoon (tässä esimerkissä user_restore) ja säilyttää käyttöoikeudet seuraavalla komennolla.

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

Etsi-komennon käyttäminen tiedostojen etsimiseen

Find-komentoa käytetään etsimään rekursiivisesti hakemistopuista tiettyjä ominaisuuksia vastaavia tiedostoja tai hakemistoja, ja se voi sitten joko tulostaa vastaavat tiedostot tai hakemistot tai suorittaa muita toimintoja osumille.

Normaalisti haemme nimen, omistajan, ryhmän, tyypin, käyttöoikeuksien, päivämäärän ja koon mukaan.

find-komennon perussyntaksi on seuraava:

find [directory_to_search] [expression]

Tiedostojen etsiminen rekursiivisesti koon mukaan

Etsi kaikki tiedostot (-f) nykyisestä hakemistosta (.) ja alta olevista alihakemistoista 2 (-maxdepth 3 sisältää nykyisen työhakemiston ja 2 tasoa alaspäin), jonka koko (-size) on suurempi kuin 2 Mt.

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

Tiettyjä ehtoja vastaavien tiedostojen etsiminen ja poistaminen

Tiedostoja, joilla on käyttöoikeudet 777, pidetään joskus avoimena ovena ulkoisille hyökkääjille. Joka tapauksessa ei ole turvallista antaa kenenkään tehdä mitään tiedostoilla. Otamme melko aggressiivisen lähestymistavan ja poistamme ne! ('{}' + käytetään "keräämään" haun tulokset).

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

Tiedostojen etsiminen aikaleimojen perusteella

Etsi hakemistosta /etc määritystiedostoja, joita on käytetty (-atime) tai muokattu (-mtime) enemmän (+180<).) tai vähemmän (-180) kuin 6 kuukautta sitten tai tasan 6 kuukautta sitten (180) .

Muokkaa seuraavaa komentoa alla olevan esimerkin mukaisesti:

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

Aseta tiedostojen käyttöoikeudet ja perusattribuutit

Ensimmäiset 10 merkkiä ls -l -tulostuksessa ovat tiedostomääritteitä. Ensimmäistä näistä merkeistä käytetään osoittamaan tiedostotyyppi:

  • - : tavallinen tiedosto
  • -d : hakemisto
  • -l : symbolinen linkki
  • -c : merkkilaite (joka käsittelee dataa tavuvirtana, eli päätelaitteena)
  • -b : lohkolaite (joka käsittelee tietoja lohkoissa, eli tallennuslaitteita)

Tiedoston attribuuttien yhdeksän seuraavaa merkkiä kutsutaan tiedostotilaksi ja ne edustavat lukua (r), kirjoitusta (w) ja suoritusta (x ). ) tiedoston omistajan, tiedoston ryhmän omistajan ja muiden käyttäjien käyttöoikeudet (jota kutsutaan yleisesti "maailmaksi").

Kun tiedoston lukuoikeus sallii sen avaamisen ja lukemisen, sama hakemiston käyttöoikeus sallii sen sisällön luettelemisen, jos myös suoritusoikeus on asetettu. Lisäksi tiedoston suorituslupa mahdollistaa sen käsittelyn ohjelmana ja ajamisen, kun taas hakemistossa se sallii saman cd:n tallentamisen siihen.

Tiedoston käyttöoikeuksia muutetaan komennolla chmod, jonka perussyntaksi on seuraava:

chmod [new_mode] file

Missä new_mode on joko oktaaliluku tai lauseke, joka määrittää uudet käyttöoikeudet.

Oktaaliluku voidaan muuntaa sen binäärivastaavuudesta, joka lasketaan halutuista tiedostooikeuksista omistajalle, ryhmälle ja maailmalle seuraavasti:

Tietyn luvan olemassaolo vastaa potenssia 2 (r=22, w=21, x=20 ), kun taas sen puuttuminen on 0. Esimerkiksi:

Jos haluat määrittää tiedoston käyttöoikeudet kuten yllä oktaalimuodossa, kirjoita:

chmod 744 myfile

Voit myös asettaa tiedoston tilan lausekkeella, joka ilmaisee omistajan oikeudet kirjaimella u, ryhmän omistajan oikeudet kirjaimella g ja loput kirjaimella . o.

Kaikki nämä "yksityiskohdat" voidaan esittää samanaikaisesti kirjaimella a. Luvat myönnetään (tai peruutetaan) +- tai --merkeillä.

Poista komentosarjan suorituslupa kaikille käyttäjille

Kuten aiemmin selitimme, voimme peruuttaa tietyn luvan lisäämällä sen eteen miinusmerkki ja ilmoittamalla, pitääkö se peruuttaa omistajalta, ryhmän omistajalta vai kaikilta käyttäjiltä. Alla oleva yksirivinen voidaan tulkita seuraavasti: Vaihda tilaa kaikille (a) käyttäjille, peruuta (-) suorituslupa (x) .

chmod a-x backup.sh

Tiedoston luku-, kirjoitus- ja suoritusoikeudet myöntäminen omistajalle ja ryhmän omistajalle sekä lukuoikeudet koko maailmalle.

Kun käytämme 3-numeroista oktaalilukua määrittämään tiedoston käyttöoikeudet, ensimmäinen numero ilmaisee omistajan käyttöoikeudet, toinen numero ryhmän omistajan ja kolmas numero kaikille muille:

  • Omistaja: (r=22 + w=21 + x=20=7)
  • Ryhmän omistaja: (r=22 + w=21 + x=20=7)
  • Maailma: (r=22 + w=0 + x=0=4),
chmod 774 myfile

Ajan myötä ja harjoittelun avulla voit päättää, mikä tapa muuttaa tiedostotilaa toimii parhaiten kussakin tapauksessa. Pitkä hakemistoluettelo näyttää myös tiedoston omistajan ja sen ryhmän omistajan (jotka toimivat alkeellisena mutta tehokkaana järjestelmän tiedostojen pääsynvalvontana):

Tiedoston omistajuus muutetaan chown-komennolla. Omistajaa ja ryhmän omistajaa voidaan vaihtaa samanaikaisesti tai erikseen. Sen perussyntaksi on seuraava:

chown user:group file

Missä vähintään käyttäjän tai ryhmän on oltava läsnä.

Esimerkkejä Chown-komennoista

Tiedoston omistajan vaihtaminen tietyksi käyttäjäksi.

chown gacanepa sent

Tiedoston omistajan ja ryhmän muuttaminen tietyksi käyttäjä:ryhmä -pariksi.

chown gacanepa:gacanepa TestFile

Vain tiedoston ryhmän omistajan muuttaminen tietyksi ryhmäksi. Huomaa kaksoispiste ennen ryhmän nimeä.

chown :gacanepa email_body.txt
Johtopäätös

Järjestelmänvalvojana sinun on tiedettävä, kuinka luoda ja palauttaa varmuuskopioita, kuinka löytää tiedostoja järjestelmästäsi ja muuttaa niiden attribuutteja sekä muutamia temppuja, jotka voivat helpottaa elämääsi ja estää sinua törmäämästä tuleviin ongelmiin.

Toivon, että tämän artikkelin vinkit auttavat sinua saavuttamaan tämän tavoitteen. Voit vapaasti lisätä omia tietojasi ja ideoitasi kommenttiosioon yhteisön hyödyksi. Kiitos etukäteen!

LFCS eBook on nyt ostettavissa. Tilaa kopiosi tänään ja aloita matkasi sertifioiduksi Linux-järjestelmänvalvojaksi!

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

Viimeisenä, mutta ei vähäisimpänä, harkitse koekupongin ostamista seuraavien linkkien avulla ansaitaksesi meille pienen palkkion, joka auttaa meitä pitämään tämän kirjan ajan tasalla.