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.