- Leren
- Informatica & ICT
- IT, netwerken & cloud
- Linux: commandoregel, shellscripts, gebruikers en services
- Opslag en netwerken in Linux
Opslag, bestandssystemen en netwerken in Linux
BeginnerLes 7 van 7 in Cursus Linux: commandoregel, shellscripts, gebruikers en services
Wat je leert
- Weet waar Linux programma's, instellingen, logboeken en gebruikersbestanden bewaart en werk met speciale directory's en bestanden die zich anders gedragen dan gewone.
- Weet wat elke directory direct onder de rootdirectory bevatGebruik de standaard voor de bestandssysteemhiërarchie om te voorspellen waar programma's, configuratie, veranderlijke gegevens en gebruikersbestanden staan.
- Gebruik tijdelijke directory's en de sticky bitKies tussen /tmp en /var/tmp, leg uit hoe de sticky bit gedeelde directory's beschermt en maak veilig tijdelijke bestanden.
- Maak en beheer symbolische en harde koppelingenMaak symbolische koppelingen met ln -s, herken en herstel verbroken koppelingen en leg uit waarin harde koppelingen verschillen.
- Herken apparaatbestanden en virtuele bestandssystemenLees bestandstypen af in ls -l, gebruik de pseudoapparaten in /dev en lees systeeminformatie uit /proc en /sys.
- Weet wat elke directory direct onder de rootdirectory bevat
- Herken de opslagapparaten en partities in een Linux-systeem, koppel bestandssystemen aan de directoryboom en laat die koppelingen automatisch bij het opstarten tot stand komen.
- Herken schijven, partities en bestandssysteemtypenBenoem opslagapparaten en partities, lees de uitvoer van lsblk, blkid en fdisk en maak onderscheid tussen partitietabellen en bestandssysteemtypen.
- Koppel bestandssystemen aan en ontkoppel zeKoppel een bestandssysteem met mount aan een directory, bekijk wat is gekoppeld en ontkoppel het veilig met umount.
- Koppel bestandssystemen bij het opstarten met /etc/fstabLees en schrijf vermeldingen in /etc/fstab die bestandssystemen aan de hand van hun UUID identificeren, en test ze veilig voordat je opnieuw opstart.
- Herken schijven, partities en bestandssysteemtypen
- Controleer hoe vol elk bestandssysteem is, zoek uit welke directory's en bestanden de ruimte gebruiken en maak ruimte vrij zonder het systeem te beschadigen.
- Controleer vrije ruimte en inodes met dfLees de uitvoer van df, leg uit waarom de getallen niet zomaar optellen en herken wanneer inodes opraken in plaats van bytes.
- Zoek uit wat ruimte inneemt en ruim veilig opGebruik du, sort en find om grote directory's en bestanden te vinden, leg uit waarom du en df verschillen en maak veilig ruimte vrij.
- Controleer vrije ruimte en inodes met df
- Leg adressen, interfaces en routes uit, bekijk de netwerkconfiguratie van een computer met ip en ss, wijzig die en zoek de stap waarop een verbinding mislukt.
- Leg uit wat interfaces, IP-adressen en routes zijnBeschrijf netwerkinterfaces, IPv4- en IPv6-adressen met prefixes, speciale adresbereiken, standaardgateways, poorten en hoe computers hun instellingen krijgen.
- Bekijk de netwerkconfiguratie met ip en ssLees interfaces, adressen en routes met ip addr, ip link en ip route, en luisterende services met ss.
- Wijzig netwerkinstellingen en onderzoek verbindingsproblemenBreng tijdelijke wijzigingen aan met ip, maak blijvende wijzigingen met de netwerktool van de distributie en test een verbinding stapsgewijs met ping.
- Leg uit wat interfaces, IP-adressen en routes zijn
- Leg uit hoe Linux namen omzet in IP-adressen, gebruik /etc/hosts voor lokale namen en controleer en test de DNS-clientinstellingen.
- Leg uit hoe Linux namen omzet in adressenBeschrijf DNS-namen en -records, de zoekvolgorde die in /etc/nsswitch.conf is ingesteld en de rol van /etc/hosts en de eigen hostnaam van de computer.
- Controleer en test de DNS-clientconfiguratieLees /etc/resolv.conf en resolvectl, vraag namen op met host, dig en getent en spoor een fout in de naamomzetting op.
- Leg uit hoe Linux namen omzet in adressen
- Meld je aan op computers op afstand en kopieer bestanden via SSH, vervang wachtwoorden door sleutelparen en gebruik de SSH-server met veilige instellingen.
- Meld je aan, voer commando's uit en kopieer bestanden via SSHMaak verbinding met ssh, controleer hostsleutels, voer commando's op afstand uit, draag bestanden over met scp, sftp en rsync en lees verbindingsfouten.
- Stel aanmelden met sleutels inMaak een SSH-sleutelpaar met ssh-keygen, bescherm het met een wachtwoordzin en een agent, installeer de publieke sleutel op servers en los veelvoorkomende sleutelproblemen op.
- Start en beveilig de SSH-serverBeheer de sshd-service, wijzig de instellingen veilig, schakel aanmelden met een wachtwoord uit en lees de logboeken.
- Meld je aan, voer commando's uit en kopieer bestanden via SSH
Opslag en netwerken in Linux: uitleg
1Vind je weg in het Linux-bestandssysteem
Linux-paden vertellen waarvoor een bestand dient, maar sommige namen leiden naar meer dan gewone schijfbestanden. Programma's, instellingen en veranderlijke gegevens hebben elk een plaats in de directoryboom. Voor gedeelde tijdelijke directory's geldt een speciale verwijderregel; koppelingen geven bestanden extra namen; apparaatbestanden en virtuele bestanden geven toegang tot het draaiende systeem. Als je deze verschillen leert kennen, kun je beter kiezen waar je werk opslaat en begrijpen wat een commando leest of wijzigt.
1.1 Vind programma's, instellingen en veranderlijke gegevens
Elk Linux-pad begint in één directoryboom met / als wortel. Een tweede schijf wordt bij het koppelen aan die boom toegevoegd op een directory. De standaard voor de bestandssysteemhiërarchie (FHS) beschrijft het gebruikelijke doel van elke directory; versie 3.0 dateert uit 2015.
Programma's en instellingen
FHS scheidt statische bestanden van bestanden die veranderen, en gedeelde bestanden van bestanden die bij één computer horen. Daardoor staan geïnstalleerde programma's onder /usr, veranderlijke gegevens onder /var en de instellingen van deze computer onder /etc.
| Locatie | Wat daar thuishoort |
|---|---|
/usr/bin, /usr/sbin | Gebruikerscommando's en beheercommando's |
/usr/lib | Bibliotheken die programma's gebruiken |
/usr/share | Gegevens zoals handleidingen en pictogrammen die niet aan één processortype zijn gebonden |
/usr/local | Software die de beheerder handmatig heeft geïnstalleerd |
/etc | Systeembrede configuratie, meestal tekst |
De oudere locaties /bin, /sbin en /lib bevatten in de FHS-indeling essentiële commando's en bibliotheken. Veel huidige distributies gebruiken de samengevoegde /usr-structuur: deze paden zijn symbolische koppelingen naar locaties binnen /usr. Zo kunnen /bin/ls en /usr/bin/ls hetzelfde programma bereiken. In /etc mogen geen uitvoerbare binaire bestanden staan, maar beheerscripts mogen er wel worden bewaard.
Persoonlijke bestanden en gegevens van het draaiende systeem
Gewone gebruikers bewaren hun eigen bestanden meestal in /home/NAME; ~ betekent je homedirectory. Gebruikersinstellingen zoals ~/.bashrc zijn daar verborgen vermeldingen. /root is de homedirectory van de rootgebruiker. De rootdirectory / is het begin van de hele boom, niet de homedirectory van die gebruiker.
Onder /var geeft de tweede directory het doel preciezer aan:
/var/logbevat logboeken./var/cachebevat gegevens die opnieuw kunnen worden gedownload of opgebouwd./var/libbevat de toestand van programma's, waaronder databases en pakketregistraties./var/spoolbevat werk in wachtrijen, zoals afdruktaken./var/tmpbevat tijdelijke bestanden die na een herstart bewaard blijven.
/tmp is voor tijdelijke bestanden die korter nodig zijn. /run bevat gegevens voor de huidige systeemstart, zoals sockets en proces-ID-bestanden, en wordt bij een herstart geleegd. /boot bevat de kernel, de initiële RAM-schijf en bestanden van de opstartlader. /dev, /proc en /sys geven toegang tot apparaten en actuele informatie van de kernel.
Koppelingen en servicegegevens
/mnt is de gebruikelijke plaats voor een tijdelijke handmatige koppeling. Bureaubladsystemen koppelen verwisselbare schijven meestal onder /media/USER/LABEL, of /run/media/USER/LABEL op Fedora. /opt bevat aanvullende software in afzonderlijke pakketdirectory's. /srv bevat gegevens die aan andere computers worden aangeboden; sommige distributies gebruiken locaties zoals /var/www voor websites.
Neem een nginx-server uit een pakket op Debian of Ubuntu. Het uitvoerbare bestand is /usr/sbin/nginx, de hoofdinstellingen staan in /etc/nginx/nginx.conf en verzoeken worden vastgelegd in /var/log/nginx/access.log. De documentatie staat onder /usr/share/doc/nginx. Het doel van de directory vertelt je waar je een wijziging in instellingen of een groeiend logboek onderzoekt.
Installeer een eigen commando onder /usr/local/bin, gescheiden van bestanden die door de pakketbeheerder worden beheerd. Een update kan bestanden onder /usr vervangen. Gebruik voor een systemd-service de vervangende locatie onder /etc/systemd/system in plaats van de meegeleverde unit onder /usr/lib/systemd/system te bewerken.
Belangrijkste punten
- Het bestandssysteem is één boom met
/als wortel; gekoppelde schijven worden via directory's aan die boom toegevoegd. - Gebruik
/usrvoor geïnstalleerde software,/etcvoor systeeminstellingen en/varvoor veranderlijke gegevens. - Persoonlijke bestanden horen in homedirectory's;
/rooten/hebben verschillende doelen. /run,/dev,/procen/sysbeschrijven het draaiende systeem.- Bewaar handmatig geïnstalleerde software onder
/usr/localen lokale vervangende service-instellingen onder/etc.
1.2 Maak tijdelijke bestanden en bescherm gedeelde directory's
Tijdelijke bestanden hebben zowel een geschikte levensduur als geschikte rechten nodig. Een bestand kan na een herstart blijven bestaan en toch op een later moment worden opgeruimd, en bescherming tegen verwijderen verschilt van bescherming tegen lezen.
Kies een levensduur
Gebruik /tmp voor kortdurend werk dat een programma bij de volgende uitvoering niet nodig heeft. FHS raadt aan deze directory bij het opstarten te legen. Fedora en Debian 13 koppelen die vaak als tmpfs, dat geheugen en wisselruimte gebruikt; de inhoud verdwijnt bij het afsluiten. De standaardgrootte is beperkt tot de helft van het fysieke RAM, dus een grote tijdelijke taak kan de directory vullen, ook als de hoofdschijf nog ruimte heeft.
Gebruik /var/tmp als tijdelijk werk na een herstart bewaard moet blijven. FHS vereist dat de inhoud bij het opstarten behouden blijft. Het blijft tijdelijke opslag: de oorspronkelijke opruimregels van systemd verwijderen ongebruikte vermeldingen doorgaans na 10 dagen in /tmp en na 30 dagen in /var/tmp. Instellingen van de distributie en lokale instellingen kunnen deze termijnen wijzigen. Bewaar blijvend werk in je homedirectory of een andere permanente gegevensdirectory.
Lees de directoryrechten
Bekijk de directoryvermelding zelf:
ls -ld /tmp
Een voorbeeld van een rechtenreeks is drwxrwxrwt. De eerste d betekent directory. De drie rechtengroepen staan iedereen toe de directory te lezen, erin te schrijven en die te betreden. De laatste t markeert de sticky bit en vervangt het gebruikelijke teken voor het uitvoerrecht van overige gebruikers.
Schrijfrecht op een directory staat een gebruiker normaal toe vermeldingen daarin te verwijderen of te hernoemen, ook bestanden van anderen. In een directory met de sticky bit zijn verwijderen en hernoemen beperkt tot de eigenaar van het bestand, de eigenaar van de directory of root, met inachtneming van de gebruikelijke toegangsregels. De bit is juist nuttig omdat veel gebruikers /tmp delen.
Bijvoorbeeld: Mina maakt /tmp/draft.txt met rechten 644 in een gedeelde directory met de sticky bit waarvan root de eigenaar is. Tomas kan dat bestand lezen omdat de eigen rechten van het bestand dat toestaan. Hij kan het niet verwijderen alleen omdat hij naar /tmp kan schrijven. Mina en root kunnen het verwijderen. Als je de rechten van het bestand wijzigt naar 600, wordt ook de inhoud beschermd tegen andere gewone gebruikers.
Stel de sticky bit in en herken die
Op een gedeelde directory die je beheert:
sudo chmod 1777 /srv/shared
De eerste 1 stelt de sticky bit in; de overige 777 geven alle gebruikers volledige toegang tot de directory. sudo chmod +t /srv/shared voegt de bit toe zonder de andere rechten te vervangen. chmod -t verwijdert de bit als je de rechten mag wijzigen.
Een kleine t betekent dat zowel de sticky bit als het uitvoerrecht voor overige gebruikers is ingesteld. Een hoofdletter T betekent dat de sticky bit is ingesteld maar overige gebruikers geen uitvoerrecht hebben. Rechten 1770 verschijnen bijvoorbeeld als drwxrwx--T. Linux negeert de sticky bit op gewone bestanden; de historische naam komt van het vasthouden van programmacode in geheugen of wisselruimte op het vroege Unix.
Laat mktemp de naam kiezen
mktemp maakt een bestand met een unieke willekeurige naam en rechten 600, en drukt het pad af. mktemp -d maakt een persoonlijke tijdelijke directory. Bewaar in een shellscript de afgedrukte naam in een variabele, gebruik die naam voor het werk en verwijder het bestand daarna als je klaar bent.
Een vaste naam zoals /tmp/results.txt kan al van iemand anders zijn of worden aangemaakt voordat je programma start. Een unieke naam voorkomt die botsing. De sticky bit maakt voorspelbare namen niet veilig en maakt een bestand met rechten 644 niet privé.
Belangrijkste punten
/tmpis voor kortdurend gebruik;/var/tmpblijft na een herstart bewaard maar wordt nog steeds opgeruimd.- De sticky bit beperkt verwijderen en hernoemen in gedeelde directory's.
- Bestandsrechten bepalen wie mag lezen; de sticky bit verbergt de inhoud niet.
- Rechten 1777 combineren open toegang tot de directory met bescherming door de sticky bit;
Tbetekent dat overige gebruikers geen uitvoerrecht hebben. mktempmaakt een uniek privébestand;mktemp -dmaakt een directory.
1.3 Volg, herstel en verwijder koppelingen
Een koppeling geeft een bestand een andere route door de directoryboom. Een symbolische koppeling slaat een pad op. Een harde koppeling biedt een andere naam voor hetzelfde onderliggende bestand. Het verschil in gedrag is van belang als de oorspronkelijke naam wordt verplaatst of verdwijnt.
Maak een symbolische koppeling
De syntaxis is ln -s TARGET LINKNAME: eerst het doel, daarna de nieuwe naam. Bijvoorbeeld:
ln -s /srv/manuals ~/manuals
ls -ld ~/manuals
readlink ~/manuals
ls -l begint de rechtenreeks van een symbolische koppeling met l en drukt een pijl naar het doel af. De weergegeven grootte is de lengte in bytes van het opgeslagen pad, niet de grootte van de doeldirectory. Bij gewone symbolische koppelingen in Linux geven de weergegeven rechten rwxrwxrwx geen toegang tot het doel; de eigen rechten van het doel blijven gelden.
ls -ld /etc toont de directoryvermelding en de rechten. ls -l /etc toont de inhoud. Een afsluitende schuine streep bij een symbolische koppeling naar een directory volgt de koppeling: ls -l manuals/ toont de inhoud van de gekoppelde directory.
Los een relatief doelpad op
Een relatief doelpad begint vanuit de directory die de koppeling bevat. Stel dat /home/lee/notes.txt bestaat en /home/lee/backup een directory is. Voer vanuit /home/lee uit:
ln -s ../notes.txt backup/notes-link
Om de koppeling te volgen, begin je in backup, ga je met .. omhoog en zoek je vervolgens notes.txt. Als je in plaats daarvan ln -s notes.txt backup/notes-link schrijft, wordt een pad naar backup/notes.txt opgeslagen. De werkdirectory waarin je de koppeling maakt, wordt geen onderdeel van dat opgeslagen relatieve pad. Een absoluut doelpad voorkomt deze specifieke onduidelijkheid.
Een verbroken symbolische koppeling blijft bestaan nadat het doelpad is verplaatst of verwijderd. Openen mislukt met “No such file or directory.” readlink LINK toont het opgeslagen doelpad; readlink -f LINK lost waar mogelijk het volledige pad op. find . -xtype l zoekt verbroken koppelingen onder de huidige directory. Maak een verbroken koppeling opnieuw met het juiste doelpad, bijvoorbeeld met ln -sfn NEWTARGET LINKNAME.
Vergelijk met een harde koppeling
printf 'hello\n' > original.txt
ln original.txt second.txt
ln -s original.txt shortcut.txt
rm original.txt
cat second.txt drukt nog steeds “hello” af. Een harde koppeling is een andere directoryvermelding voor dezelfde inode, de bestandsregistratie van het bestandssysteem. Er is geen speciale oorspronkelijke naam die moet blijven bestaan. cat shortcut.txt mislukt omdat het opgeslagen doelpad niet meer bestaat.
| Eigenschap | Symbolische koppeling | Harde koppeling |
|---|---|---|
| Slaat op | Een doelpad | Een andere naam voor hetzelfde bestand |
| Kan naar een ander bestandssysteem verwijzen | Ja | Nee |
| Kan naar een directory verwijzen | Ja | Nee |
| Na verwijdering van de doelnaam | Kan verbroken raken | Andere naam geeft nog toegang tot de gegevens |
ls -i toont hetzelfde inodenummer voor twee harde koppelingen op één bestandssysteem. De tweede kolom van ls -l toont hun aantal harde koppelingen. Als de laatste naam wordt verwijderd, wordt het bestand vrijgegeven zodra geen proces het meer openhoudt.
Verwijder een symbolische koppeling met rm LINKNAME of unlink LINKNAME. Laat bij een koppeling naar een directory de afsluitende schuine streep weg: rm manuals verwijdert alleen de koppeling. Een recursief commando op manuals/ kan de inhoud van het doel bereiken en verwijderen. Systeempaden zoals /bin, commandonamen met versienummers en ingeschakelde systemd-services gebruiken vaak symbolische koppelingen.
Belangrijkste punten
ln -s TARGET LINKNAMEslaat een pad op; relatieve doelpaden beginnen vanuit de directory van de koppeling.- Bekijk opgeslagen doelpaden met
readlink; maak koppelingen waarvan de paden niet meer werken opnieuw. - Harde koppelingen delen een inode en blijven bruikbaar als een andere naam wordt verwijderd.
- Harde koppelingen blijven binnen één bestandssysteem en verwijzen niet naar directory's.
- Verwijder een symbolische koppeling naar een directory zonder afsluitende schuine streep om de inhoud van het doel te beschermen.
- De weergegeven rechten van een symbolische koppeling vervangen de rechten van het doel niet.
1.4 Lees apparaten en de draaiende kernel als bestanden
Een pad in Linux kan verwijzen naar een schijf, een terminal of actuele kernelinformatie. Het eerste teken in ls -l vertelt je om wat voor soort vermelding het gaat voordat je die als een gewoon document behandelt.
Herken bestandstypen
De markeringen zijn - voor een gewoon bestand, d voor een directory, l voor een symbolische koppeling, b voor een blokapparaat, c voor een tekenapparaat, p voor een benoemde pipe en s voor een socket. Een blokapparaat, zoals /dev/sda1, biedt opslag in blokken die in willekeurige volgorde toegankelijk zijn. Een tekenapparaat, zoals /dev/tty1, biedt een stroom bytes.
Een apparaatvermelding kan er zo uitzien:
brw-rw---- 1 root disk 8, 1 Oct 22 08:00 /dev/sda1
De b duidt een blokapparaat aan. De nummers 8, 1 vervangen het gewone grootteveld: de major- en minornummers identificeren het stuurprogramma en het apparaat voor de kernel. /dev wordt normaal in het geheugen aangeboden door devtmpfs en met hulp van udev gevuld zodra hardware verschijnt. Als je een USB-schijf aansluit, kunnen /dev/sdb en /dev/sdb1 worden aangemaakt.
Rechtstreeks naar een schijfapparaat schrijven kan de gegevens overschrijven zonder om bevestiging te vragen. Controleer met lsblk om welk apparaat het gaat voordat je er zo naartoe schrijft.
Gebruik pseudoapparaten
/dev/null gooit geschreven bytes weg en geeft bij het lezen direct het bestandseinde terug. Dit commando verbergt foutmeldingen terwijl normale resultaten zichtbaar blijven:
find / -name '*.conf' 2>/dev/null
De 2> leidt standaardfoutuitvoer om. Alles wat daarheen wordt gestuurd, wordt weggegooid.
/dev/zero levert nulbytes. Zo maakt dd if=/dev/zero of=test.img bs=1M count=100 een gewoon bestand van 100 MiB met nullen: 104.857.600 bytes. De uitvoer is hier test.img, geen schijfapparaat. /dev/urandom levert willekeurige bytes; head -c 16 /dev/urandom | base64 maakt er 16 afdrukbaar.
Zodra de generator voor willekeurige getallen van Linux is geïnitialiseerd, leveren zowel /dev/random als /dev/urandom cryptografisch veilige willekeurige bytes. Op kernels vanaf 5.6 wacht /dev/random vroeg in het opstartproces op die initialisatie; /dev/urandom kan al bytes teruggeven voordat die is voltooid.
Lees actuele informatie
procfs, gekoppeld aan /proc, maakt informatie op aanvraag aan. Veel vermeldingen tonen een grootte van nul maar geven bij het lezen tekst terug. /proc/cpuinfo beschrijft processoren, /proc/meminfo beschrijft het geheugen en /proc/mounts toont koppelingen. Genummerde directory's beschrijven actieve processen; /proc/sys geeft toegang tot kernelinstellingen. Tools zoals ps, top en free lezen deze informatie.
cat /proc/uptime kan 86400.52 340000.10 afdrukken. De eerste waarde is het aantal seconden sinds het opstarten: ongeveer 24 uur. De tweede telt de inactieve tijd van alle processoren op en kan daardoor groter zijn dan de verstreken tijd.
sysfs, gekoppeld aan /sys, beschrijft apparaten, stuurprogramma's en bussen. ls /sys/class/net/ toont interfaces, ls /sys/block/ toont blokapparaten en cat /sys/class/net/enp0s3/address leest het MAC-adres van één interface. Schrijven naar beschrijfbare instellingen onder /proc of /sys wijzigt de draaiende kernel en vereist normaal rootrechten. Stel bij een back-up van het hele systeem uitsluitingen in voor /proc, /sys, /dev en /run; het draaiende systeem maakt ze opnieuw aan.
Belangrijkste punten
- Lees de typemarkering voordat je een pad als een gewoon bestand behandelt.
- Blokapparaten bieden toegang tot opslag; tekenapparaten bieden toegang tot gegevensstromen.
/dev/nullgooit gegevens weg,/dev/zerolevert nullen en/dev/urandomlevert willekeurige bytes./procen/sysgeven toegang tot actuele kernelinformatie zonder gewone schijfbestanden.
2Bekijk schijven, partities en gekoppelde bestandssystemen
Een schijf, een partitie en een bestandssysteem zijn verschillende opslaglagen. Lees de apparatenboom om te bepalen wat aanwezig is en koppel vervolgens het juiste bestandssysteem aan een directory zodat de bestanden toegankelijk worden. Een handmatige koppeling geldt voor de huidige systeemtoestand; een vermelding in de opstartconfiguratie zorgt dat die automatisch terugkomt. Door deze lagen op volgorde te volgen, voorkom je dat je het verkeerde apparaat formatteert of een koppeling toevoegt die normaal opstarten verhindert.
2.1 Lees informatie over schijven, partities en bestandssysteemtypen
Een schijf is een opslagapparaat, fysiek of virtueel. Een partitie is een gedeelte daarvan. De partitietabel legt die gedeelten vast, terwijl een bestandssysteem binnen een partitie de bestanden en directory's ordent. Een partitie kan ook wisselruimte bevatten, die het geheugen ondersteunt in plaats van gewone bestanden op te slaan.
Begrijp de apparaatnaam
SATA-, SAS- en USB-schijven gebruiken doorgaans /dev/sda, /dev/sdb enzovoort; hun partities krijgen een extra nummer, zoals /dev/sdb1. NVMe-namen bevatten al cijfers, dus een partitie krijgt een extra p: /dev/nvme0n1p2 is partitie 2 van /dev/nvme0n1. SD- en eMMC-apparaten gebruiken namen zoals /dev/mmcblk0p1; veel virtuele machines gebruiken /dev/vda1.
De detectievolgorde kan deze namen veranderen. Bepaal aan de hand van meerdere kenmerken om welke schijf het gaat, niet op basis van de letter van gisteren:
lsblk -o NAME,SIZE,MODEL,RM,TYPE,MOUNTPOINTS
lsblk -f
sudo blkid
sudo fdisk -l
lsblk toont de schijf en de partities als een boom. RM=1 duidt een apparaat aan dat als verwisselbaar is gemarkeerd; TYPE maakt onderscheid tussen disk en part. Een koppelpunt / duidt het rootbestandssysteem aan. lsblk -f voegt bestandssysteemtypen, labels en UUID's toe. blkid geeft identificatiecodes en typen, terwijl fdisk -l partitiegrenzen en het type tabel toont. Deze controlecommando's wijzigen geen partities.
Maak onderscheid tussen tabeltype en bestandssysteemtype
| Laag | Veelvoorkomende keuzes | Betekenis |
|---|---|---|
| Partitietabel | GPT, MBR/DOS | Beschrijft gedeelten van de schijf |
| Bestandssysteem | ext4, XFS, Btrfs, FAT32, exFAT, NTFS | Ordent bestanden binnen een gedeelte |
MBR staat vier primaire partities toe; één daarvan kan een uitgebreide partitie zijn met logische partities die vanaf 5 zijn genummerd. Bij sectoren van 512 bytes is de adresseringsgrens 2 TiB. GPT kan grotere schijven aan en biedt doorgaans 128 partitietabelvermeldingen. UEFI-systemen starten op vanaf een EFI-systeempartitie, die met FAT is geformatteerd en vaak aan /boot/efi is gekoppeld.
Debian en Ubuntu gebruiken doorgaans ext4; RHEL gebruikt standaard XFS; Fedora Workstation en openSUSE gebruiken doorgaans Btrfs. FAT32 verschijnt in Linux als vfat en kan geen afzonderlijk bestand van 4 GiB of meer bevatten. exFAT is geschikt voor grotere bestanden op verwisselbare media; NTFS komt veel voor op Windows-schijven. Het bestaan van een partitie betekent niet op zichzelf dat die al een bestandssysteem heeft.
Lees de grootte-eenheden
lsblk, df -h en du -h gebruiken binaire eenheden: G staat voor een GiB, of 1.073.741.824 bytes. Schijffabrikanten gebruiken decimale GB, die elk 1.000.000.000 bytes bevatten. Zo verschijnt een schijf met 500.107.862.016 bytes als 465.8G; 32.000.000.000 bytes is ongeveer 29.8G. lsblk -b toont exacte aantallen bytes. Dit verschil in aanduiding is geen verloren capaciteit.
Een nieuwe lege schijf voorbereiden vereist eerst partitioneren en daarna een bestandssysteem aanmaken, bijvoorbeeld met sudo mkfs.ext4 /dev/sdb1. Controleer voordat je partities wijzigt of formatteert het doel aan de hand van de grootte, het model en de status als verwisselbaar apparaat, bevestig dat de gegevens mogen worden vernietigd en ontkoppel het. fdisk -l toont alleen informatie; interactieve fdisk schrijft wijzigingen weg als je w gebruikt.
Belangrijkste punten
- Een schijf, een partitietabel en een bestandssysteem beschrijven verschillende opslaglagen.
- Namen van NVMe- en SD-partities krijgen een
pvóór het partitienummer. - Gebruik
lsblk,blkidenfdisk -lom te controleren voordat je wijzigingen aanbrengt. - GPT en MBR duiden partitietabellen aan; ext4 en XFS duiden bestandssystemen aan.
- Binaire
Gen decimale GB meten dezelfde bytes met verschillende eenheidsgrootten. - FAT32 kan geen afzonderlijk bestand van 4 GiB of meer bevatten.
2.2 Koppel een bestandssysteem aan en ontkoppel het netjes
Bij koppelen verbind je een bestandssysteem met een directory, het koppelpunt. Een bestandssysteem dat aan /data is gekoppeld, wordt toegankelijk via paden zoals /data/report.pdf. De directoryboom blijft één geheel, ook als meerdere schijven de inhoud leveren.
Koppel en controleer
Stel dat lsblk -f /dev/sdb1 aanduidt als het bestandssysteem dat je wilt lezen. Maak een lege koppelpuntdirectory en koppel het bestandssysteem:
sudo mkdir -p /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
findmnt /mnt/usb
mount herkent het type meestal. Geef -t ext4 op als je het expliciet moet noemen. findmnt toont TARGET, SOURCE, FSTYPE en OPTIONS. mount zonder argumenten toont koppelingen, inclusief virtuele bestandssystemen; df -h rapporteert hun ruimte en lsblk toont koppelpunten naast blokapparaten.
Als je over een directory heen koppelt, wordt de bestaande inhoud verborgen. Als /mnt/usb/local.txt er eerst stond, verdwijnt het uit beeld zolang het USB-bestandssysteem is gekoppeld en verschijnt het weer na het ontkoppelen. Het is niet naar de schijf gekopieerd of gewist.
Kies opties voor de taak
Gebruik -o voor een door komma's gescheiden optielijst. sudo mount -o ro /dev/sdb1 /mnt/usb staat normaal schrijven naar bestanden via deze koppeling niet toe. Dat is nuttig voor inspectie, al kan het koppelen zelf nog steeds naar het apparaat schrijven. rw staat schrijven toe.
noexec voorkomt het rechtstreeks uitvoeren van bestanden op het gekoppelde bestandssysteem. Het verhindert niet dat een interpreter een script leest: bash /mnt/usb/script.sh kan een leesbaar script nog steeds uitvoeren. Zie dit als een beperking van rechtstreekse uitvoering, niet als een volledige bescherming tegen het uitvoeren van de inhoud.
FAT en exFAT slaan geen Unix-eigenaars op. Als root zo'n schijf koppelt, geef je de gewenste eigenaar op via koppelopties. Controleer beide ID's met id -u en id -g. Als beide 1000 afdrukken:
sudo mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/usb
cp report.pdf /mnt/usb/
Hiermee stel je het eigenaarschap in dat Linux voor de koppeling weergeeft. Rechten wijzigen met chmod werkt niet op dezelfde manier voor eigenaarschap als op ext4.
Rond het werk af
Verlaat het bestandssysteem en sluit programma's die het gebruiken, en voer daarna uit:
sudo umount /mnt/usb
De spelling is umount. Ontkoppel verwisselbare opslag voordat je die verwijdert, zodat schrijfbewerkingen uit de buffer de schijf bereiken. Op een desktop voert de uitwerpactie van een bestandsbeheerder deze taak uit.
Als het commando “target is busy” meldt, gebruikt een proces het bestandssysteem nog. Een shell met /mnt/usb als huidige directory is daarvoor al voldoende. Voer cd uit in die shell, sluit geopende bestanden en probeer het opnieuw. fuser -vm /mnt/usb of lsof /mnt/usb helpt te bepalen welke processen het bestandssysteem gebruiken.
Bureaubladsystemen regelen automatisch koppelen van verwisselbare media normaal via udisks2, onder /media/USER/LABEL of op Fedora onder /run/media/USER/LABEL. Servers gebruiken doorgaans ingestelde koppelingen bij het opstarten of handmatige commando's. Koppelingen kunnen ook toegang geven tot een imagebestand, geheugen of een gedeelde netwerklocatie. Nadat je bijvoorbeeld /mnt/iso hebt aangemaakt, presenteert sudo mount -o loop,ro ubuntu.iso /mnt/iso een ISO-image als een directory.
Belangrijkste punten
- Een koppelpunt toont het gekoppelde bestandssysteem en verbergt tijdelijk de eerdere inhoud van de directory.
- Bekijk werkelijke koppelingen met
findmnt; gebruik-oom opties te kiezen. noexecblokkeert rechtstreekse uitvoering; interpreters kunnen scripts nog steeds lezen.- Eigenaarschap op FAT en exFAT wordt opgegeven met koppelopties zoals
uidengid. - Sluit processen die een bestandssysteem gebruiken en voer
umountuit voordat je de schijf verwijdert.
2.3 Laat een koppeling na een herstart terugkomen
Een handmatige koppeling maakt geen opstartregel aan. /etc/fstab levert die regels, met één vermelding per bestandssysteem of wisselruimte. Op een systeem met systemd zet een generator vermeldingen van bestandssystemen om in koppelunits en vermeldingen van wisselruimte in wisselruimte-units.
Lees alle zes velden
Een ext4-gegevensbestandssysteem kan deze vermelding gebruiken:
UUID=3f2c9a1e-7b4d-4e8a-9c61-2d5f0b8e4a17 /data ext4 defaults,nofail 0 2
Spaties of tabs scheiden de zes velden. Komma's verbinden opties binnen één veld; zet geen spaties in die lijst.
- Bron: een UUID, label of apparaatpad.
- Koppelpunt: hier
/data. - Type: hier
ext4. - Opties: hier
defaults,nofail. - Dumpvlag: normaal
0, waarmee de oude dumpvlag voor back-ups wordt uitgeschakeld. - Controlevolgorde van bestandssystemen:
1voor root,2voor andere bestandssystemen die moeten worden gecontroleerd,0om over te slaan; XFS en Btrfs gebruiken normaal0.
Een regel die begint met # is commentaar. Een vermelding voor wisselruimte gebruikt none als koppelpuntveld, het type swap en eindigt doorgaans op 0 0.
Kies een blijvende identificatiecode
Zoek de UUID van het bestandssysteem met lsblk -f of sudo blkid. Anders dan een naam zoals /dev/sdb1 blijft de UUID bij het bestandssysteem als de detectievolgorde van schijven verandert. Opnieuw formatteren maakt een nieuw bestandssysteem met een nieuwe UUID, dus werk daarna de fstab-vermelding bij.
defaults omvat lees- en schrijftoegang en automatisch koppelen. nofail laat het opstarten doorgaan als een optionele schijf ontbreekt. noauto slaat automatisch koppelen over; de vermelding kan later nog wel worden gebruikt voor sudo mount /data. ro betekent alleen-lezen en noexec blokkeert rechtstreekse uitvoering. user staat een gewone gebruiker toe de vermelding te koppelen.
Voeg een vermelding toe en test die
Voor een al voorbereide ext4-gegevenspartitie:
sudo cp /etc/fstab /etc/fstab.bak
lsblk -f
sudo mkdir -p /data
Bewerk /etc/fstab om de regel met de daadwerkelijk gemelde UUID toe te voegen. Test vervolgens voordat je opnieuw opstart:
sudo findmnt --verify
sudo systemctl daemon-reload
sudo mount -a
findmnt /data
findmnt --verify controleert de tabel, waaronder problemen met de velden en bronnen. Door te herladen leest systemd de gewijzigde configuratie opnieuw. mount -a koppelt in aanmerking komende vermeldingen die nog niet zijn gekoppeld. findmnt /data bevestigt vervolgens de bron, het type en de huidige opties. Een geslaagde mount -a betekent niet dat een noauto-vermelding is getest; koppel die vermelding expliciet.
De root van een nieuw gekoppeld ext4-bestandssysteem kan eigendom zijn van root. Zodra het juiste bestandssysteem is gekoppeld, maakt sudo chown lee:lee /data Lee eigenaar van die directory. Als je dit vóór het koppelen doet, wijzig je in plaats daarvan de onderliggende koppelpuntdirectory.
Een verkeerde UUID, een verkeerd type of een niet beschikbaar vereist apparaat kan het opstarten onderbreken en het systeem in de noodmodus achterlaten. Corrigeer zulke fouten terwijl het systeem draait. systemctl list-units --type=mount toont de resulterende actieve koppelunits.
Belangrijkste punten
- fstab-vermeldingen hebben zes velden; opties blijven samen in één door komma's gescheiden veld.
- Een UUID van een bestandssysteem blijft gelijk als de apparaatnaam verandert, maar verandert na opnieuw formatteren.
nofailstaat toe dat een optionele schijf ontbreekt;noautoslaat automatisch koppelen over.- Maak een back-up, controleer, herlaad systemd, koppel en inspecteer voordat je opnieuw opstart.
- Wijzig eigenaarschap na het koppelen om het gekoppelde bestandssysteem te wijzigen.
3Meet het schijfgebruik en maak ruimte vrij
Een melding over een vol apparaat kan betekenen dat opslagblokken zijn uitgeput of dat het bestandssysteem geen vrije bestandsregistraties meer heeft. Controleer eerst het bestandssysteem dat het pad bevat waarbij de fout optreedt en zoek vervolgens de bestanden die de ruimte gebruiken. Sommige ruimte blijft toegewezen nadat een bestandsnaam verdwijnt. Door de metingen samen te lezen, kun je een opruimmethode kiezen die de benodigde capaciteit vrijmaakt zonder geïnstalleerde software of applicatiegegevens te beschadigen.
3.1 Controleer zowel vrije ruimte als vrije inodes
df rapporteert ruimte voor gekoppelde bestandssystemen. Het beantwoordt de vraag “Hoe vol is het bestandssysteem dat dit pad bevat?” Het telt niet de eigen bestanden van een directory op. Dankzij dat verschil kun je de betreffende opslag bepalen voordat je naar de grootste inhoud zoekt.
Lees een ruimterapport
Gebruik df -h /var/log om het bestandssysteem te bekijken dat de logdirectory bevat. Een rapport kan tonen:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 98G 61G 32G 66% /
/dev/vdb1 916G 210G 660G 25% /data
Hier gebruiken logboeken onder /var/log het rootbestandssysteem, tenzij daar een afzonderlijk bestandssysteem is gekoppeld. De vrije ruimte van het bestandssysteem /data kan niet zomaar helpen bij een schrijfbewerking naar /var/log omdat beide bij één computer horen.
De kolommen beschrijven de grootte van het bestandssysteem, de gebruikte ruimte, de voor gewone gebruikers beschikbare ruimte, het gebruikspercentage en het koppelpunt. GNU df berekent Use% als Used gedeeld door Used plus Avail, naar boven afgerond. Voor het rootvoorbeeld is 61 gedeeld door 93 ongeveer 65,6 %, weergegeven als 66%. De getallen in leesbare eenheden zijn zelf afgerond.
Size kan groter zijn dan Used + Avail. Een ext4-bestandssysteem reserveert normaal 5 % van de blokken voor root, zodat essentiële services kunnen blijven werken als gebruikers de rest vullen. Vijf procent van 98G is ongeveer 4,9G. Die ongebruikte gereserveerde blokken zijn uitgesloten van Avail voor gewone gebruikers; het zijn geen bestandsgegevens in Used. De reserve kan worden aangepast met tune2fs -m, bijvoorbeeld naar 1 % voor een groot gegevensbestandssysteem. Metadata gebruiken ook ruimte.
Kies een bruikbare weergave
df -h gebruikt binaire K-, M- en G-eenheden. df -H gebruikt decimale machten van 1000. Gewoon df rapporteert normaal blokken van 1024 bytes en df -T voegt het bestandssysteemtype toe. Om minder vermeldingen van geheugenbestandssystemen te zien:
df -h -x tmpfs -x devtmpfs
Een tmpfs-vermelding is opslag in het geheugen, terwijl efivarfs toegang geeft tot firmwarevariabelen. free meet RAM en wisselruimte en kan df dus niet vervangen voor schijfcapaciteit. lsblk vertelt hoe groot een schijf of partitie is, niet hoeveel vrije ruimte het bestandssysteem heeft.
Controleer ook de bestandsregistraties
Een inode is een registratie van een bestand of directory in het bestandssysteem. Namen met harde koppelingen delen één registratie. Een ext4-bestandssysteem heeft een vaste voorraad inodes die bij het bestandssysteem wordt aangemaakt. Heel veel kleine bestanden kunnen die opgebruiken terwijl gigabytes aan gegevensruimte ongebruikt blijven.
df -i /var/log
Lees IUsed, IFree en IUse%. Als IFree nul is, kan het maken van een nieuw bestand mislukken met “No space left on device”, ook als df -h vrije ruimte toont. Door enkele grote bestanden te verwijderen komen blokken vrij, maar heel weinig inodes; door veel ongewenste sessie- of cachebestanden op te ruimen pak je de uitputting van inodes aan.
Als de rootopslag vol raakt, kunnen databases stoppen, logboeken mislukken, updates vastlopen en aanmeldingen mislukken. Controleer vroeg zowel df -h PATH als df -i PATH. De rapporten geven aan welke capaciteit is uitgeput en welk gekoppeld bestandssysteem aandacht nodig heeft.
Belangrijkste punten
df PATHrapporteert over het bestandssysteem dat het pad bevat, niet over het totaal van de directory.Use%gebruikt Used gedeeld door Used plus Avail, naar boven afgerond.- Ongebruikte gereserveerde ext4-blokken verminderen de beschikbare ruimte voor gewone gebruikers zonder gebruikte bestandsgegevens te worden.
- Controleer
df -ials bestanden maken mislukt ondanks vrije gigabytes.
3.2 Zoek groeiende bestanden en maak veilig ruimte vrij
Zodra df het volle bestandssysteem heeft aangewezen, gebruik je du om de directory's te vinden die het gebruiken. Bekijk de inhoud voordat je iets verwijdert: applicatietoestand en vervangbare cachebestanden kunnen om heel verschillende redenen groot zijn.
Werk de directoryboom af
sudo du -h -d 1 /var | sort -h
sudo du -sh /var/log
-d 1 geeft totalen één directoryniveau lager en -s drukt één samenvattend totaal af. sort -h begrijpt grootten zoals 900M en 2.1G. Gebruik sudo om directory's mee te nemen die je gewone account niet kan lezen. Als /var/log groot is, herhaal je het eerste commando daar om de groeiende subdirectory te vinden.
du -sh * slaat namen over die met een punt beginnen omdat het shellpatroon * daar niet mee overeenkomt. du -h -d 1 ~ | sort -h neemt bij het bekijken van een homedirectory ook verborgen directory's mee, zoals .cache en .local.
Om grote afzonderlijke bestanden op het rootbestandssysteem te vinden:
sudo find / -xdev -type f -size +500M 2>/dev/null
-xdev blijft op het oorspronkelijke bestandssysteem; -type f selecteert gewone bestanden; M betekent hier MiB. ls -lhS sorteert de bestanden van één directory van groot naar klein.
Begrijp verschillende totalen
ls -l rapporteert de logische lengte van een bestand. du telt normaal toegewezen opslag. Een bestand met “hi” en een nieuweregelteken is 3 bytes lang maar kan één blok van 4 KiB innemen, weergegeven als 4.0K. Een sparse schijfimage kan een grote logische lengte hebben terwijl het veel minder werkelijke ruimte gebruikt. du --apparent-size rapporteert in plaats daarvan logische lengten.
Een hoger gebruik volgens df dan volgens een directoryscan kan ook komen door onleesbare directory's, bestanden die onder koppelpunten verborgen zijn of verwijderde maar nog geopende bestanden. Door een naam te verwijderen komen de gegevens niet vrij zolang een proces het bestand openhoudt.
Als je bijvoorbeeld een actief applicatielogbestand van 20G verwijdert, kan df onveranderd blijven. Bekijk zulke bestanden met sudo lsof +L1. Door de betreffende service te herstarten wordt het geopende bestand vrijgegeven, zodat de opslagruimte vrijkomt. Om een actief logbestand waarvan je weet dat de inhoud weg mag te legen zonder een geopend bestand zonder naam achter te laten, houdt sudo truncate -s 0 /var/log/app/app.log de naam en het bestand op hun plaats. Dit wist de vastgelegde inhoud.
Gebruik de beheerder van de gegevens om op te ruimen
Pakkettools weten welke gedownloade bestanden kunnen worden vervangen. Gebruik sudo apt clean op Debian of Ubuntu, of sudo dnf clean all op Fedora of RHEL. Bekijk de voorgestelde wijzigingen van apt autoremove of dnf autoremove voordat je ongebruikte pakketten verwijdert. Ruim je eigen ongewenste downloads en prullenbak op. Verwijder geen bestanden met de hand uit /usr, /boot of /var/lib om ruimte te maken.
Als het logboek groeit, verwijdert sudo journalctl --vacuum-size=1G oude gearchiveerde logboekbestanden totdat hun totaal binnen de limiet past. Door actieve bestanden kan het totale logboekgebruik boven die grootte blijven. Voor blijvende beheersing stel je SystemMaxUse=1G in /etc/systemd/journald.conf in en herstart je systemd-journald.
Voer na het opruimen opnieuw df -h PATH of df -i PATH uit om te bevestigen dat de capaciteit die de storing veroorzaakte weer beschikbaar is. Als het logboek of een ander logbestand herhaaldelijk groeit, onderzoek dan zowel de meldingen die de groei veroorzaken als de instellingen voor het bewaren ervan.
Belangrijkste punten
- Gebruik
duom de groei van directory's te lokaliseren enfindom grote gewone bestanden te vinden. - Een directoryargument neemt verborgen vermeldingen mee; het shellpatroon
*slaat ze over. - Logische lengte, toegewezen blokken en totalen van het bestandssysteem meten verschillende dingen.
- Verwijderde bestanden die nog worden opengehouden kunnen ruimte blijven gebruiken; vind ze met
lsof +L1. - Gebruik pakket- en logboektools voor hun gegevens; logboeken opschonen betreft gearchiveerde bestanden.
- Controleer de uitgeputte capaciteit opnieuw na het opruimen en pak herhaalde groei aan.
4Stel netwerkinstellingen in en controleer ze met ip
Een werkende verbinding heeft een actieve interface, een adres en een route naar de bestemming nodig. Een service moet ook luisteren op een plek waar clients die kunnen bereiken. Linux toont deze afzonderlijke onderdelen via ip en ss, zodat je elk onderdeel kunt bekijken voordat je iets wijzigt. Lees de huidige toestand, maak onderscheid tussen een tijdelijk commando en opgeslagen configuratie en test vanaf de lokale verbinding naar buiten om een verbindingsprobleem af te bakenen zonder naar de oorzaak te gissen.
4.1 Begrijp adressen, netwerken en servicepoorten
Een netwerkinterface is een verbindingspunt waardoor de kernel verkeer verstuurt. Dat kan Ethernet, wifi, loopback of een virtuele verbinding zoals een VPN zijn. Namen zoals enp0s3, eno1 en wlp2s0 duiden fysieke adapters aan; lo is loopback. Sommige virtuele systemen en cloudsystemen gebruiken eth0.
Lees IPv4 en de prefix
Ethernet- en wifiinterfaces hebben een MAC-adres van 48 bits, geschreven als zes hexadecimale paren, dat wordt gebruikt voor aflevering op het lokale netwerk. Een IP-adres identificeert een computer voor communicatie tussen netwerken. Eén interface kan meerdere IP-adressen hebben.
IPv4 heeft 32 bits, geschreven als vier getallen van 0 tot 255. In 192.168.1.50/24 identificeren de eerste 24 bits het netwerk en blijven acht bits over voor adressen daarbinnen. Het netwerk is 192.168.1.0/24, met netmasker 255.255.255.0.
Die acht bits leveren 256 adressen op. Het eerste duidt het netwerk aan en het laatste, 192.168.1.255, is het broadcastadres, zodat 254 adressen voor computers overblijven. Een /26 heeft zes bits voor computers: 64 adressen in totaal en 62 gewone adressen voor computers. /24 telt netwerkbits, geen computers.
De privébereiken zijn 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16. Ze worden niet openbaar gerouteerd; een thuisrouter gebruikt doorgaans NAT om privéverkeer naar het openbare adres te vertalen. 127.0.0.1 is loopback en betekent de computer die het commando uitvoert. Een link-localadres 169.254.x.x wijst vaak op een mislukte DHCP-configuratie. Documentatie gebruikt 192.0.2.0/24, 198.51.100.0/24 en 203.0.113.0/24.
Herken IPv6
IPv6 heeft 128 bits in acht hexadecimale groepen. Laat voorloopnullen binnen een groep weg en vervang één aaneengesloten reeks nulgroepen door ::: 2001:0db8:0000:0000:0000:0000:0000:0042 wordt 2001:db8::42. Gebruik :: slechts eenmaal in één adres. ::1 is loopback; fe80:-adressen zijn link-local op Ethernet- en wifiverbindingen waarop IPv6 is ingeschakeld. Lokale IPv6-netwerken gebruiken doorgaans /64 en één computer heeft vaak meerdere adressen.
Bereik netwerken en services
Een computer verstuurt verkeer rechtstreeks naar bestemmingen op een direct verbonden netwerk. De standaardgateway verwerkt bestemmingen waarvoor geen specifiekere route bestaat. De gateway is een router die op de lokale verbinding bereikbaar is. Zonder een passende route of standaardroute zijn andere netwerken onbereikbaar.
Een poort duidt een service op een adres aan: SSH gebruikt TCP 22, DNS gebruikt UDP en TCP 53, HTTP gebruikt TCP 80 en HTTPS gebruikt doorgaans TCP 443. TCP biedt betrouwbare verbindingen; UDP draagt afzonderlijke berichten over. Een socketeindpunt combineert een adres en poort, zoals 192.168.1.50:22.
Verkrijg of stel de configuratie in
DHCP voor IPv4 verstrekt tijdelijk een adres, prefix, gateway en DNS-instellingen. Statische configuratie stelt vaste waarden in, doorgaans voor servers. IPv6-SLAAC vormt een adres uit informatie die de router aankondigt. DHCPv6 kan IPv6-adressen en DNS-servers verstrekken; informatie over de IPv6-standaardrouter komt uit routeradvertenties. Een DHCPv6-adres alleen levert die route niet.
Belangrijkste punten
- Een interface kan meerdere adressen hebben; MAC- en IP-adressen hebben verschillende rollen.
- Een prefix telt netwerkbits: een gewoon IPv4-netwerk met
/24heeft 254 bruikbare adressen voor computers. - Loopback verwijst altijd naar de computer die het commando uitvoert.
- De standaardroute verwerkt bestemmingen waarvoor geen specifiekere route bestaat.
- Poorten duiden services aan; IP-adressen duiden computers en interfaces aan.
- IPv6 leert standaardrouters kennen via routeradvertenties.
4.2 Lees uitvoer over interfaces, routes en luisterende sockets
Het commando ip toont de huidige toestand van het netwerk. De objecten beschrijven verschillende onderdelen: addr voor adressen, link voor de status van interfaces, route voor routering en neigh voor lokale buren. ss toont sockets en hun luisterende services.
Bekijk een interface
ip -br addr
ip addr show dev enp0s3
ip link show
De beknopte weergave kan enp0s3 UP 192.168.1.50/24 fe80::a00:27ff:fe3a:5c71/64 tonen. De interface staat aan, met één IPv4-adres en één IPv6-link-localadres. De langere uitvoer scheidt deze velden:
link/ether 08:00:27:3a:5c:71 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global dynamic enp0s3
inet6 fe80::a00:27ff:fe3a:5c71/64 scope link
link/ether geeft het MAC-adres. inet leidt IPv4 in en inet6 leidt IPv6 in. De IPv4-waarde brd is het broadcastadres, niet de gateway. dynamic duidt een dynamisch toegewezen adres aan en valid_lft toont hoelang het geldig blijft. UP is de administratieve status; LOWER_UP duidt op een werkende onderliggende verbinding.
ip -4 addr en ip -6 addr selecteren een adresfamilie. ip link laat IP-adressen weg. hostname -I drukt de ingestelde adressen van de computer af. Kies niet 127.0.0.1 wanneer je een andere computer een adres voor deze computer geeft.
Lees de route afzonderlijk
default via 192.168.1.1 dev enp0s3 proto dhcp src 192.168.1.50 metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.50 metric 100
ip route show geeft dit soort uitvoer. Het lokale netwerk 192.168.1.0/24 is rechtstreeks bereikbaar via enp0s3. Andere bestemmingen gebruiken gateway 192.168.1.1 via de standaardroute. proto dhcp geeft aan waar die route vandaan komt; src geeft het voorkeursbronadres op.
Gebruik ip route get 203.0.113.10 om het gekozen pad naar één bestemming te bekijken. ip -6 route show toont IPv6-routes. ip neigh toont geleerde lokale koppelingen van IP- aan MAC-adressen; een gatewayvermelding met FAILED betekent dat de omzetting naar een buuradres niet het benodigde lokale antwoord heeft ontvangen.
Controleer waar een service luistert
sudo ss -tulnp
De opties betekenen TCP, UDP, luisterend, numerieke adressen en procesgegevens. Lees de kolom met het lokale adres. 0.0.0.0:22 accepteert verkeer op alle lokale IPv4-adressen, terwijl 127.0.0.1:5432 alleen lokaal is. [::]:80 duidt alle IPv6-adressen aan. Luisteren is slechts één vereiste; netwerkbereikbaarheid en toegangsregels zijn ook van belang. ss -tn toont huidige TCP-verbindingen zonder alleen luisterende sockets te selecteren.
Oudere handleidingen gebruiken ifconfig, route, arp en netstat. Hun huidige tegenhangers zijn ip addr/ip link, ip route, ip neigh en ss. Een ontbrekend ifconfig is een ontbrekende tool, geen defect netwerk. Korte vormen zoals ip a, ip r en ip l zijn toegestane afkortingen.
Belangrijkste punten
- Gebruik afzonderlijke
ip-objecten voor adressen, verbindingen, routes en buren. brdis een broadcastadres; zoek de gateway inip route.ip route get ADDRESStoont de route die voor die bestemming is gekozen.- Een socket die aan loopback is gebonden, kan geen verbindingen accepteren die aan de netwerkinterface van de computer zijn gericht.
ss -tulnpkoppelt luisterende poorten aan de bijbehorende processen.
4.3 Wijzig instellingen en baken een verbindingsprobleem af
Een tijdelijk commando en een opgeslagen netwerkprofiel dienen verschillende doelen. ip wijzigt direct de toestand van de draaiende kernel; de netwerkbeheerder van de distributie herstelt opgeslagen instellingen bij het opstarten en kan tijdelijke wijzigingen eerder vervangen.
Breng een tijdelijke wijziging aan
Op een oefeninterface met de naam enp0s8:
sudo ip link set dev enp0s8 up
sudo ip addr add 192.168.50.10/24 dev enp0s8
sudo ip route add default via 192.168.50.1
Geef de prefix mee. Zonder /24 krijgt een toegevoegd IPv4-adres /32, zodat de verwachte route naar het lokale /24-netwerk ontbreekt. ip addr del verwijdert het opgegeven adres, ip route del default verwijdert de standaardroute en ip link set ... down schakelt de interface uit.
Als je de interface wijzigt waarover een SSH-sessie op afstand loopt, kan de verbinding worden verbroken. Gebruik voor dat werk consoletoegang of een configuratietool met terugdraaifunctie.
Sla instellingen op met de actieve netwerkbeheerder
Fedora, RHEL en veel desktops gebruiken NetworkManager. Zoek het profiel met nmcli device status en wijzig vervolgens de verbinding met behulp van de verbindingsnaam:
sudo nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.60/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
sudo nmcli connection up "Wired connection 1"
Door ipv4.method auto in te stellen schakel je het profiel terug naar DHCP. Ubuntu gebruikt doorgaans netplan-YAML onder /etc/netplan/; andere systemen gebruiken .network-bestanden van systemd-networkd of /etc/network/interfaces van Debian ifupdown. Cloudsystemen gebruiken vaak DHCP en cloud-init.
Een statische netplan-configuratie kan luiden:
network:
version: 2
ethernets:
enp0s3:
dhcp4: false
addresses: [192.168.1.60/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
Gebruik spaties voor inspringing. sudo netplan try past de configuratie toe met een bevestigingstermijn van 120 seconden voordat die wordt teruggedraaid. sudo netplan apply past de configuratie direct toe.
Test één laag tegelijk
Begin met ip -br link, daarna ip -br addr en daarna ip route. Geen actieve verbinding, geen geschikt adres en geen standaardroute zijn verschillende fouten. Test de gateway met ping -c 3 192.168.1.1, daarna een extern adres en daarna een naam. Het aantal bij -c laat ping op Linux stoppen na een vast aantal verzoeken; gebruik anders Ctrl+C.
Een antwoord rapporteert de retourtijd, terwijl de samenvatting pakketverlies rapporteert. Geen echoantwoord kan zowel wijzen op ICMP-filtering als op een uitgeschakelde computer of een defecte route. Als een adres werkt maar een naam “Temporary failure in name resolution” oplevert, onderzoek dan het opzoeken van namen. Als ping het omgezette adres afdrukt en daarna geen antwoorden krijgt, is het opzoeken al geslaagd.
tracepath of traceroute toont antwoordende routers langs het pad. Test ook de daadwerkelijke applicatie: curl -I https://example.com vraagt HTTP-headers op. Als een lokaal webverzoek slaagt maar verzoeken op afstand mislukken, bekijk dan sudo ss -tlnp. Een service die aan 127.0.0.1:80 is gebonden, heeft voor gebruik op afstand een bindingsadres nodig dat via het netwerk bereikbaar is, evenals de benodigde netwerktoegangsregels.
Belangrijkste punten
- Wijzigingen met
ipzijn direct en tijdelijk; sla blijvende instellingen op via de actieve netwerkbeheerder. - Geef een prefix mee als je een adres toevoegt.
- Test op volgorde de verbinding, het adres, de route, de gateway, een extern adres, de naam en de service.
- Een fout in de naamomzetting verschilt van een omgezette naam waarop geen pingantwoorden worden ontvangen.
- Een mislukte ping geeft op zichzelf niet aan welke verbindingslaag is uitgevallen.
- Gebruik consoletoegang of een terugdraaifunctie als je de instellingen van een verbinding op afstand wijzigt.
5Zet hostnamen om in IP-adressen met DNS en het hosts-bestand
Een server kan via zijn adres bereikbaar zijn terwijl zijn naam niet werkt, of één computer kan een bekende naam naar een verouderd adres sturen. Naamomzetting is een afzonderlijk onderdeel van een verbinding, met verschillende mogelijke bronnen en caches. Leer hoe lokale namen, DNS-records en resolverinstellingen samenhangen en kies vervolgens een test die hetzelfde zoekpad volgt als de applicatie. Door die paden te vergelijken kun je een verouderde vermelding of een falende DNS-service vinden.
5.1 Volg een hostnaam door lokale bestanden en DNS
Dankzij namen kunnen mensen web1.example.com gebruiken in plaats van een adres te onthouden. DNS, het Domain Name System, slaat records op in een gedistribueerde hiërarchie van domeinen. Een korte hostnaam zoals web1 benoemt een computer; de volledig gekwalificeerde domeinnaam identificeert die binnen de volledige hiërarchie.
Herken wat een record beantwoordt
| Record | Betekenis |
|---|---|
| A | IPv4-adres voor een naam |
| AAAA | IPv6-adres voor een naam |
| CNAME | Alias die naar een andere naam verwijst |
| MX | Mailserver voor een domein |
| PTR | Naam die bij omgekeerd opzoeken uit een adres wordt verkregen |
DNS-servers gebruiken poort 53 via zowel UDP als TCP. De levensduur (TTL) van een record vertelt caches hoelang ze het mogen bewaren, in seconden. Een TTL van 3600 is één uur. Door een record te wijzigen wordt het oudere antwoord niet direct uit elke cache verwijderd.
De resolver is de clientkant van het opzoeken van namen: bibliotheekcode en vaak een service zoals systemd-resolved. De ingestelde naamservers zijn doorgaans recursieve resolvers die worden beheerd door een router, provider, organisatie of openbare dienst. Ze vinden antwoorden en bewaren die in de cache voor clients.
Controleer de bronvolgorde van het systeem
Linux-applicaties gebruiken doorgaans de zoekbronnen die zijn ingesteld met de regel hosts: in /etc/nsswitch.conf. Een eenvoudig voorbeeld is:
hosts: files dns
Hier betekent files het bestand /etc/hosts, dat vóór DNS wordt gecontroleerd. Andere installaties bevatten bronnen zoals resolve of mdns4_minimal. Lees de werkelijke regel wanneer je twee systemen vergelijkt.
/etc/hosts bevat een adres gevolgd door de hoofdnaam en optionele aliassen:
127.0.0.1 localhost
::1 localhost ip6-localhost
192.168.1.20 nas.home.arpa nas
Met de getoonde zoekvolgorde wordt nas op deze computer omgezet naar 192.168.1.20. home.arpa is gereserveerd voor thuisnetwerken. Wijzigingen in het hosts-bestand worden van kracht zonder herstart, maar hebben alleen effect op de computer waarvan je het bestand bewerkt. Het bestand accepteert geen jokertekens of poortnummers: 192.168.1.20:8080 nas is ongeldig.
Gebruik lokale vermeldingen bewust
Een vermelding in het hosts-bestand kan een apparaat op een klein netwerk een naam geven of je computer naar een vervangende webserver laten verwijzen voordat openbare DNS verandert. Een naam aan 0.0.0.0 koppelen wordt ook gebruikt om die lokaal te blokkeren. Elk gebruik verandert het opzoeken van adressen, niet de poort of configuratie van de service.
Stel dat een website verhuist en op andere computers wel werkt, maar op die van jou niet. Een oude vermelding in /etc/hosts kan je browser naar het vorige adres blijven sturen, ook als DNS correct is. Vergelijk de lokale vermelding met de huidige bedoelde bestemming voordat je netwerkroutes wijzigt.
De eigen hostnaam van de computer is een afzonderlijke instelling. hostname drukt die af; sudo hostnamectl set-hostname web1 wijzigt die. /etc/hostname bewaart de ingestelde naam. Debian en Ubuntu koppelen die doorgaans ook in /etc/hosts, bijvoorbeeld met 127.0.1.1 web1. Werk die koppeling ook bij na een naamswijziging. Een verschil kan bij gebruik van sudo de waarschuwing “unable to resolve host web1” veroorzaken. Als je de hostnaam wijzigt, wordt daarvoor geen openbaar DNS-record aangemaakt.
Belangrijkste punten
- DNS-recordtypen beantwoorden verschillende vragen; A is IPv4 en AAAA is IPv6.
- TTL bepaalt de levensduur in de cache, zodat oude antwoorden na een wijziging kunnen blijven bestaan.
- De regel
hosts:innsswitch.confbepaalt de zoekbronnen van het systeem. - Een vermelding in het hosts-bestand geldt lokaal voor één computer en bevat geen poortnummer.
- Houd de ingestelde hostnaam en de lokale koppeling in het hosts-bestand met elkaar in overeenstemming.
5.2 Vergelijk resolverinstellingen met werkelijke zoekresultaten
Gebruik een test die past bij de vraag die je stelt. Een rechtstreekse vraag controleert het antwoord van een DNS-server. Een zoekopdracht via het systeem controleert de bronnen die Linux-applicaties normaal gebruiken, waaronder naast DNS ook lokale bestanden kunnen vallen.
Lees de resolverconfiguratie
/etc/resolv.conf kan nameserver 192.168.1.1 en search example.com bevatten. De nameserver-regel duidt een DNS-server aan; dankzij het zoekachtervoegsel kan een korte naam zoals web1 worden geprobeerd als web1.example.com. De traditionele resolver gebruikt maximaal drie ingestelde naamservers, normaal op volgorde. Met opties kun je het gedrag bij time-outs en nieuwe pogingen instellen.
Dit bestand wordt vaak gegenereerd door een netwerkservice. Een commentaarregel of symbolische koppeling laat zien wie het beheert. Rechtstreeks aangebrachte wijzigingen kunnen bij de volgende netwerkupdate verdwijnen, dus wijzig opgeslagen DNS-waarden via NetworkManager, netplan of de actieve netwerkbeheerder.
Op een systeem met systemd-resolved verwijst het bestand doorgaans naar /run/systemd/resolve/stub-resolv.conf en vermeldt het 127.0.0.53. Dat is een lokale DNS-stubresolver, geen externe server die per ongeluk door loopback is vervangen. Die stuurt vragen door en bewaart antwoorden in de cache. Gebruik:
resolvectl status
resolvectl query example.com
resolvectl flush-caches
Het eerste commando toont de werkelijke DNS-servers, inclusief instellingen per interface. Leeg de cache wanneer je tijdens het onderzoeken van een wijziging opgeslagen resultaten wilt verwijderen.
Kies de zoektool
host web1.example.com vraagt DNS naar een naam. host 203.0.113.10 voert een omgekeerde zoekopdracht uit; host -t MX example.com vraagt mailrecords op. dig example.com A +short drukt een beknopt IPv4-antwoord af en dig @1.1.1.1 example.com A selecteert expliciet een DNS-server. nslookup is een oudere tool om DNS te bevragen. De tools worden doorgaans aangeboden in het pakket dnsutils of bind-utils.
getent hosts nas volgt de zoekvolgorde van het systeem uit /etc/nsswitch.conf, zoals de meeste applicaties doen. dig, host en nslookup lezen /etc/hosts niet zelf. Als je de stubresolver van systemd-resolved bevraagt, kan die echter een antwoord teruggeven dat de service uit dat bestand haalt. Selecteer expliciet een bekende achterliggende server als je de DNS-gegevens daarvan met de lokale zoekopdracht wilt vergelijken.
Interpreteer het resultaat voordat je instellingen wijzigt
NXDOMAIN betekent dat de bevraagde DNS-server antwoordde dat de naam niet bestaat. SERVFAIL betekent dat de server de zoekopdracht niet kon voltooien. Een time-out betekent dat er vóór de tijdslimiet geen bruikbaar antwoord binnenkwam. “Name or service not known” van een programma is een fout bij het zoeken via het systeem, op zichzelf geen DNS-antwoordcode.
Stel dat ping naar een extern adres slaagt, maar het opzoeken van example.com een tijdelijke fout meldt. Bekijk de ingestelde resolver en vergelijk een rechtstreekse vraag daaraan met een vraag aan een andere bekende resolver. Een geldig antwoord van de tweede server wijst eerder op een probleem met de ingestelde server, de route ernaartoe of de lokale resolverinstellingen. Als beide mislukken, maak dan onderscheid tussen werkelijke foutantwoorden en time-outs voordat je een firewall als oorzaak aanwijst. DNS-verkeer en ICMP-ping zijn verschillend verkeer, ook als ze hetzelfde netwerk gebruiken.
Belangrijkste punten
- Wijzig gegenereerde instellingen in
resolv.confvia de bijbehorende netwerkbeheerder. 127.0.0.53duidt normaal de lokale stubresolver van systemd-resolved aan;resolvectl statustoont de achterliggende servers.- Gebruik
getentvoor het zoekpad van het systeem endig @SERVERom een gekozen DNS-server te bevragen. - Een DNS-foutantwoord, een time-out en een fout bij het zoeken via het systeem geven verschillende aanwijzingen.
6Maak met SSH veilig verbinding met systemen op afstand
SSH geeft je een shell op afstand, een manier om afzonderlijke commando's uit te voeren en veilige bestandsoverdracht. Een geslaagde verbinding omvat twee identiteitscontroles: je client controleert de server en de server controleert je account. Stel sleutels in met deze rollen helder voor ogen en test daarna serverinstellingen terwijl je nog een werkende sessie hebt. Door verbindingsfouten en daadwerkelijk toegepaste configuratie te lezen, kun je de juiste fase herstellen zonder de bescherming van SSH te verzwakken.
6.1 Maak verbinding, controleer de server en draag bestanden over
SSH, Secure Shell, versleutelt sessies op afstand en bestandsoverdrachten. De client ssh maakt verbinding met sshd, normaal op TCP-poort 22. OpenSSH is de gebruikelijke Linux-implementatie. Oudere tools zoals telnet en FTP versturen wachtwoorden als platte tekst.
Controleer en open de sessie op afstand
Maak verbinding met ssh lee@web1.example.com; laat lee@ weg om je lokale gebruikersnaam te gebruiken. Gebruik voor een andere poort ssh -p 2222 lee@web1.example.com. Controleer de identiteit van de computer op afstand voordat je commando's uitvoert; exit of Ctrl+D brengt je terug naar de lokale shell.
Bij het eerste contact toont SSH een sleutelvingerafdruk van de hostsleutel. Vergelijk die via een vertrouwd kanaal met de beheerder of provider van de server. De beheerder kan die afdrukken met ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub. Als je die accepteert, wordt de sleutel in je bestand ~/.ssh/known_hosts opgeslagen voor latere vergelijking.
Een waarschuwing over een gewijzigde hostsleutel betekent dat de aangeboden identiteit verschilt van de opgeslagen identiteit. Een opnieuw geïnstalleerde server of een hergebruikt adres kan dit verklaren, maar een aanvaller ook. Controleer eerst de nieuwe sleutelvingerafdruk. Zodra de wijziging is bevestigd, verwijdert ssh-keygen -R 203.0.113.10 de oude vermelding voor dat adres, zodat je verbinding kunt maken en de nieuwe kunt vastleggen.
Voer een commando uit zonder aangemeld te blijven
ssh lee@web1.example.com 'df -h /'
Het commando wordt op afstand uitgevoerd, de uitvoer verschijnt lokaal en de verbinding eindigt. Een daaropvolgende lokale pipe kan die uitvoer verwerken. Programma's die een terminal nodig hebben, waaronder interactieve sudo, kunnen ssh -t gebruiken, bijvoorbeeld ssh -t lee@web1.example.com sudo systemctl restart nginx.
Kies een overdrachtstool
scp report.pdf lee@web1.example.com:/home/lee/ uploadt een bestand. scp lee@web1.example.com:/home/lee/results.csv . downloadt naar de huidige lokale directory. De dubbele punt markeert het pad op afstand; zonder die punt is lee@web1.example.com een lokale bestandsnaam. -r kopieert directory's en -P 2222 selecteert een poort, met een hoofdletter P. Moderne scp gebruikt onderliggend SFTP.
sftp lee@web1.example.com opent een interactieve sessie. Gebruik get om te downloaden, put om te uploaden, cd voor de directory op afstand, lcd voor de lokale directory en bye om af te sluiten. Voor herhaalde directorykopieën verstuurt rsync -av site/ lee@web1.example.com:/srv/site/ wijzigingen via SSH; rsync moet aan beide kanten zijn geïnstalleerd.
Bewaar terugkerende verbindingsgegevens in ~/.ssh/config:
Host web1
HostName 203.0.113.10
User lee
Port 2222
IdentityFile ~/.ssh/id_ed25519
Daarna gebruiken ssh web1 en scp notes.txt web1: die instellingen.
Lees in welke fase het misgaat
“Connection refused” duidt op een actieve afwijzing, doorgaans omdat niets op de gekozen poort luistert. Een time-out betekent dat geen antwoord is binnengekomen; mogelijke oorzaken zijn routering, filtering of een uitgeschakelde computer. “Permission denied (publickey)” betekent dat de verbinding de authenticatie bereikte, maar dat je account of aangeboden sleutel niet werd geaccepteerd. ssh -v toont de voortgang van verbinding en authenticatie, zodat je de fase kunt onderzoeken die mislukte.
Belangrijkste punten
- Controleer de sleutelvingerafdruk van de server voordat je de eerste of gewijzigde hostsleutel vertrouwt.
known_hostsonthoudt serveridentiteiten, niet de sleutels die toegang tot je account krijgen.- Afgeschermde commando's op afstand worden op de server uitgevoerd; daaropvolgende lokale pipes draaien op je client.
- Een dubbele punt markeert een scp-pad op afstand; scp gebruikt
-Pen ssh gebruikt-pvoor poorten. - Gebruik sftp interactief en rsync voor herhaalde overdracht van gewijzigde bestanden.
- Maak bij het oplossen van problemen eerst onderscheid tussen afwijzing, time-out en mislukte authenticatie.
6.2 Maak een sleutelpaar en installeer de publieke sleutel
Aanmelden met een sleutel bewijst dat je client een privésleutel bezit die hoort bij een toegestane publieke sleutel. De client ondertekent authenticatiegegevens; die verstuurt de privésleutel niet naar de server. De twee bestanden hebben daarom verschillende bestemmingen en hebben verschillende bescherming nodig.
Maak en bescherm het paar
Op je eigen computer:
ssh-keygen -t ed25519 -C "lee@laptop"
Kies een wachtwoordzin wanneer daarom wordt gevraagd. De standaardbestanden zijn ~/.ssh/id_ed25519, de privésleutel, en ~/.ssh/id_ed25519.pub, de publieke sleutel. De tekst bij -C is commentaar om de sleutel te identificeren. Ed25519 is sinds OpenSSH 9.5 de standaard van ssh-keygen; door het expliciet te noemen is het voorbeeld helder. Voor een oudere server die RSA vereist, genereert ssh-keygen -t rsa -b 4096 een RSA-sleutel van 4096 bits.
Een wachtwoordzin versleutelt het privésleutelbestand. Die beschermt de opgeslagen sleutel als iemand het bestand in handen krijgt; de wachtwoordzin verschilt van het wachtwoord van het account op afstand. Geautomatiseerde taken gebruiken soms sleutels zonder wachtwoordzin, met beperkte accountrechten. Houd de privésleutel op de client en houd die geheim.
Een SSH-agent bewaart ontgrendelde sleutels in het geheugen zodat je de wachtwoordzin niet voor elke verbinding opnieuw invoert. Bureaubladsessies starten doorgaans een agent. Voeg de sleutel toe met ssh-add ~/.ssh/id_ed25519 en voer de wachtwoordzin in wanneer daarom wordt gevraagd.
Geef één account toegang met de publieke sleutel
ssh-copy-id lee@web1.example.com
Na authenticatie bij het serveraccount van Lee voegt het commando een publieke sleutel achteraan toe aan ~/.ssh/authorized_keys van dat account. Als meerdere clientsleutels bestaan, selecteert ssh-copy-id -i ~/.ssh/id_ed25519.pub lee@web1.example.com expliciet de publieke sleutel. Bij het aanmaken van een cloudserver kan de publieke sleutel worden geïnstalleerd.
Elke regel in authorized_keys bevat een sleuteltype, gecodeerde gegevens van de publieke sleutel en meestal commentaar. Meerdere sleutels kunnen afzonderlijke apparaten of personen toegang geven. Een sleutel in het bestand van Lee geeft toegang tot het account van Lee, niet tot het account van root. Door de regel te verwijderen trek je die sleutel daar in; verwijder na een lek de publieke sleutel van elke getroffen server.
Controleer eigenaarschap en rechten
Op de server, in het bedoelde account:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Zorg dat de homedirectory niet beschrijfbaar is voor de groep of overige gebruikers. Bij normale strenge controles weigert sshd onveilig beschrijfbare autorisatiebestanden of bovenliggende directory's. Op de client beschermen rechten 600 de privésleutel; te ruime rechten kunnen “UNPROTECTED PRIVATE KEY FILE!” opleveren. Het publieke .pub-bestand mag met rechten 644 leesbaar zijn.
Bevestig het aanmeldpad
Open een nieuwe verbinding met ssh lee@web1.example.com. Een vraag om de wachtwoordzin ontgrendelt de lokale privésleutel; een al geladen agent kan dat overbodig maken. Zoek in de uitgebreide uitvoer naar geslaagde authenticatie met “publickey”.
Als aanmelden mislukt, controleer dan eerst de accountnaam, vervolgens de publieke-sleutelvermelding, het eigenaarschap en de rechten, en daarna de aangeboden clientsleutel. ssh -i ~/.ssh/other_key lee@web1.example.com selecteert een specifieke privésleutel; met IdentityFile maak je die keuze onderdeel van een opgeslagen hostconfiguratie. Een andere sleutel genereren herstelt geen ontbrekende autorisatievermelding voor de bestaande sleutel.
Belangrijkste punten
- Houd de privésleutel op de client geheim; installeer de publieke sleutel in het bedoelde serveraccount.
- Een wachtwoordzin beschermt de opgeslagen privésleutel; een agent bewaart een ontgrendelde sleutel in het geheugen.
- Gebruik 700 voor
.sshen 600 voorauthorized_keysen de privésleutel op de client. - Autorisatie geldt per account; door een regel met een publieke sleutel te verwijderen trek je die sleutel daar in.
- Controleer het account, de toegestane sleutel, de rechten en de aangeboden sleutel als authenticatie mislukt.
6.3 Wijzig SSH-serverinstellingen zonder de toegang te verliezen
Het serverprogramma is sshd, geleverd door openssh-server. Debian en Ubuntu noemen de systemd-service ssh; Fedora, RHEL, openSUSE en Arch noemen die doorgaans sshd. Gebruik de naam die je distributie biedt als je de status controleert of de service inschakelt of herlaadt.
Zoek de daadwerkelijk toegepaste configuratie
Installeer met sudo apt install openssh-server of sudo dnf install openssh-server. Voor een service op Fedora of RHEL start sudo systemctl enable --now sshd de service en schakelt het automatisch starten bij het opstarten in. systemctl status sshd rapporteert de status.
De server leest /etc/ssh/sshd_config. /etc/ssh/ssh_config is voor de client. Veel systemen voegen /etc/ssh/sshd_config.d/*.conf in aan het begin van het serverbestand. Voor de meeste instellingen heeft de eerst gelezen waarde voorrang. Een andere waarde onderaan het hoofdbestand toevoegen heeft mogelijk geen effect.
Gebruik sudo sshd -T om de daadwerkelijk toegepaste instellingen af te drukken. Als dit passwordauthentication yes toont ondanks een latere no, controleer dan de ingevoegde bestanden. Op een Ubuntu-cloudimage kan 50-cloud-init.conf de eerdere waarde leveren. Na een eerder toepasselijk bestand zoals 10-no-passwords.conf, of een wijziging van de bepalende instelling, moet je de configuratie controleren en herladen.
Vereis de bedoelde authenticatie
Nadat aanmelden met een sleutel werkt, stellen deze instellingen toegang met alleen sleutels in:
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
AuthenticationMethods publickey
PermitRootLogin no
De eerste schakelt sleutels in. De volgende twee schakelen de wachtwoordmethode en de interactieve toetsenbordmethode uit, die beide wachtwoorden kunnen accepteren. AuthenticationMethods publickey vereist expliciet authenticatie met een publieke sleutel. PermitRootLogin no blokkeert aanmelden via SSH als root; beheerders melden zich onder hun eigen naam aan en gebruiken sudo. De standaard prohibit-password is anders: die staat aanmelden als root met een sleutel nog steeds toe. AllowUsers lee deploy kan beperken welke accounts toegang krijgen.
Pas veilig toe en test
Houd de werkende sessie open en bevestig in een tweede terminal dat aanmelden met een sleutel werkt voordat je toegang met een wachtwoord verwijdert. Na het bewerken:
sudo sshd -t
sudo systemctl reload sshd
Gebruik reload ssh op Debian of Ubuntu. sshd -t drukt niets af bij een geldige configuratie; corrigeer fouten voordat je herlaadt. Een herlading behoudt bestaande sessies, dus een nieuwe verbinding is de test van het gewijzigde beleid. Houd de oude sessie open totdat die test slaagt.
Controleer toegang en logboeken
journalctl -u sshd of journalctl -u ssh toont pogingen. Traditionele logbestanden zijn onder meer /var/log/auth.log op Debian/Ubuntu en /var/log/secure op RHEL. Herhaalde wachtwoordpogingen voor ongeldige gebruikers komen vaak voor op servers die vanaf internet bereikbaar zijn; toegang met alleen sleutels neemt het raden van wachtwoorden als aanmeldroute weg.
Sta de SSH-service toe via de actieve firewall: sudo ufw allow OpenSSH op Ubuntu, of sudo firewall-cmd --permanent --add-service=ssh op Fedora/RHEL gevolgd door sudo firewall-cmd --reload. Een regel van de cloudprovider moet de luisterende poort ook toestaan. SSH naar poort 2222 verplaatsen kan de ruis van scans verminderen, maar sleutels, beperkte aanmelding en OpenSSH-updates bieden de daadwerkelijke bescherming.
Belangrijkste punten
- Gebruik de servicenaam van de distributie:
sshop Debian/Ubuntu, elders meestalsshd. - Bekijk daadwerkelijk toegepaste instellingen met
sshd -T; eerder ingevoegde waarden kunnen voorrang hebben. - Schakel beide methoden uit die wachtwoorden accepteren en vereis publickey voor aanmelden met alleen sleutels.
- Bevestig sleutels, controleer de syntaxis, herlaad en test een nieuwe verbinding terwijl je een werkende sessie behoudt.
- Lees de serverlogboeken en controleer de toegangsregels van de computer en de cloud.
Opslag en netwerken in Linux: voorbeelden
1Volg bestanden door een Linux-systeem
16 stappen
- 1IntroductieBegin bij het doel van het pad
Een kleine helpdeskservice bewaart het programma, de instellingen en de geschiedenis van verzoeken op verschillende plaatsen (
/usr,/etcen/var). De beheerder gebruikt ook een gedeelde tijdelijke directory en een snelkoppeling naar het huidige rapport, die een symbolische koppeling is.Volg elk pad aan de hand van twee vragen: wat voor soort gegevens hoort hier en wat voor soort bestandssysteemvermelding is dit? De antwoorden bepalen waar je kijkt en wat een bestandsbewerking wijzigt, zoals wie vermeldingen mag verwijderen (de sticky bit).
- 2UitlegScheid programma, instellingen en uitvoer
Het programma zelf hoort normaal in
/usr, de instellingen voor de hele computer in/etcen de veranderlijke gegevens in/var. Een persoonlijke werkkopie hoort in een homedirectory.Voor een hulpprogramma dat een beheerder handmatig installeert, houdt
/usr/local/binhet gescheiden van commando's uit pakketten. Een geschiedenis van verzoeken hoort onder/var/log, waar groeiende operationele gegevens worden verwacht. - 3UitdagingPlaats de servicebestanden
Een ondersteuningsservice heeft drie bestanden: het uitvoerbare bestand uit een pakket, de lokale configuratie en een logbestand dat elke dag groeit. Koppel ze aan
/usr,/etcen/var.---reveal---
Het uitvoerbare bestand hoort in
/usr, de lokale instellingen in/etcen het veranderlijke logbestand in/var, normaal in/var/log. Een naam die eindigt op.confis een nuttige aanwijzing, maar het doel van het bestand is de reden voor de locatie. - 4UitlegKies waar tijdelijk werk staat
Een korte conversietaak kan
/tmpgebruiken. Een langere taak die na een herstart moet doorgaan, heeft/var/tmpnodig. Geen van beide is een permanente plaats voor het eindresultaat.Een
/tmpin het geheugen verliest de bestanden bij het afsluiten, terwijl opruimregels oude vermeldingen op beide locaties kunnen verwijderen. Gebruikmktempvoor een privébestand met een unieke naam en bewaar het afgedrukte pad voor latere commando's. - 5VoorbeeldLees de sticky bit in de rechten
De gedeelde directory waarvan root de eigenaar is, toont
drwxrwxrwt. Iedereen kan vermeldingen aanmaken, maar de laatstetverandert wie ze mag verwijderen of hernoemen.Jo maakt een bestand met rechten 644. Pat kan de inhoud lezen omdat het bestand overige gebruikers leesrecht geeft. Pat kan de vermelding niet verwijderen: de directory met de sticky bit beperkt die bewerking tot de eigenaar van de vermelding, de eigenaar van de directory of root, met inachtneming van normale toegangscontroles.
- 6UitdagingWijzig de privacy zonder de verwijderregels te wijzigen
Jo wil dat Pat het bestaande tijdelijke bestand niet meer kan lezen. De gedeelde directory heeft al de sticky bit. Wat moet Jo wijzigen?
---reveal---
Wijzig de eigen rechten van het bestand, bijvoorbeeld naar 600. De sticky bit beperkt verwijderen en hernoemen al; die neemt het leesrecht in een bestand met rechten 644 niet weg. Deze twee beschermingen gelden voor verschillende bewerkingen.
- 7VoorbeeldMaak een relatieve koppeling
De directory
/home/jo/exportsbestaat en het rapport is/home/jo/today.txt. Een koppeling op/home/jo/exports/currentmoet naar het rapport leiden.Gebruik
ln -s ../today.txt /home/jo/exports/current. Bij het volgen van het opgeslagen doelpad begin je inexports, ga je omhoog naar/home/joen lees je daarnatoday.txt. De werkdirectory van de shell bepaalt het beginpunt niet. - 8UitdagingHerstel een verplaatst doel
Jo hernoemt
today.txtnaarready.txtzonder de koppeling op/home/jo/exports/currentte verplaatsen. Welk doelpad moet de opnieuw gemaakte koppeling opslaan?---reveal---
Sla
../ready.txtop. De eerste..gaat nog steeds omhoog vanexportsnaar de homedirectory van Jo, maar de laatste bestandsnaam moet overeenkomen met de nieuwe naam. De weergegeven rechten van de symbolische koppeling wijzigen kan het ontbrekende doelpad niet herstellen. - 9UitlegGeef het bestand een tweede naam met een harde koppeling
Een harde koppeling slaat een andere naam voor dezelfde bestandsregistratie op, geen pad naar een oorspronkelijke voorkeursnaam.
ln ready.txt kept.txtlaat de twee namen een inode delen op dat bestandssysteem.Als je
ready.txtverwijdert, blijftkept.txtbruikbaar. Een symbolische koppeling dieready.txtopslaat, zou daarentegen verbroken raken. Een harde koppeling kan niet naar een directory of een ander bestandssysteem verwijzen. - 10TipVerwijder de bedoelde vermelding
Gebruik voor een symbolische koppeling naar een directory de naam zonder afsluitende schuine streep:
rm currentofunlink current. De doeldirectory blijft bestaan.Een afsluitende schuine streep laat commando's de doeldirectory volgen. Een recursieve verwijdering kan dan bestanden in dat doel bereiken, dus de exacte schrijfwijze van het pad is belangrijk. Bekijk bij twijfel de pijl met
ls -lof lees het opgeslagen doelpad metreadlink. - 11UitlegHerken apparaten voordat je ze opent
Een vermelding die begint met
bbeschrijft een blokapparaat zoals een schijfpartitie. Eencaan het begin duidt een tekenapparaat aan, zoals een terminal. Gewone bestanden beginnen met-, ongeacht of hun inhoud tekst of binair is.De major- en minornummers in een apparaatvermelding identificeren het stuurprogramma en het apparaat. Ze staan op de plaats waar een gewoon bestand zijn lengte zou tonen.
- 12VoorbeeldLees de actuele bedrijfstijd
cat /proc/uptimegeeft259200.0 710000.0terug. De eerste waarde is het aantal verstreken seconden sinds het opstarten: delen door 3600 geeft 72 uur, of drie dagen.De tweede waarde telt de inactieve tijd van processoren op en kan dus groter zijn dan de verstreken bedrijfstijd. Deze tekst komt van de draaiende kernel; het is geen gewoon logbestand dat elke seconde op schijf wordt opgeslagen.
- 13UitdagingLeg een informatiebestand met grootte nul uit
Een cursist ziet grootte 0 voor een vermelding onder
/procen neemt aan dat die geen nuttige informatie kan bevatten. Bij het lezen geeft de vermelding meerdere regels terug. Hoe kunnen beide waarnemingen kloppen?---reveal---
De kernel genereert de informatie op aanvraag. De grootte in de bestandslijst is niet de opgeslagen lengte van een gewoon schijfbestand, dus nul voorspelt daar niet dat lezen niets oplevert. Gebruik de gedocumenteerde rol van de vermelding om de teruggegeven tekst te interpreteren.
- 14VerbandLees een interface via sysfs
ls /sys/class/net/toont de interfaces die de kernel kent. Het lezen van/sys/class/net/enp0s3/addressgeeft het MAC-adres van die Ethernet-interface terug.Dit verbindt een vertrouwde padnaam met actuele hardware-informatie.
/proclegt de nadruk op proces- en systeemgegevens, terwijl/sysapparaten, stuurprogramma's en bussen ordent. Hun inhoud wordt door het draaiende systeem opnieuw aangemaakt. - 15UitdagingBehoud toegang nadat een bestandsnaam verdwijnt
Een rapport staat in een gedeelde directory met de sticky bit waarvan root de eigenaar is. Jo is eigenaar van het rapport; Pat kan het lezen maar niet hernoemen. Een symbolische koppeling elders slaat het pad ervan op. Jo verwijdert die rapportnaam, maar op hetzelfde bestandssysteem blijft een harde koppeling bestaan. Welke overgebleven naam opent het rapport nog en waarom?
---reveal---
De naam met de harde koppeling opent het rapport nog omdat die dezelfde bestandsregistratie aanduidt. De symbolische koppeling raakt verbroken omdat het opgeslagen pad is verdwenen. De sticky bit bepaalt wie de oorspronkelijke vermelding mag verwijderen, niet of een andere naam blijft bestaan.
- 16SamenvattingGebruik doel, rechten en type vermelding
Zoek het bestand op basis van het doel, lees het type en de rechten en volg daarna eventuele koppelingen vanuit de juiste directory. Bekijk voor actuele systeemgegevens
/procen/sys. Kies voor gedeeld tijdelijk werk zowel een levensduur als bestandsprivacy; de sticky bit regelt afzonderlijk wie mag verwijderen.
2Koppel een optionele archiefschijf aan
14 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieBegin met een bestaande gegevensschijf
- 2VoorbeeldLees de apparatenboom
- 3UitlegVerwar controleren niet met voorbereiden
- 4UitdagingKies de juiste bron
- 5VoorbeeldMaak de directory en koppel die
- 6TipKies een beperkte koppeling voor inspectie
- 7UitdagingLos een blokkering bij het ontkoppelen op
- 8UitlegLeg de identiteit vast in plaats van de detectievolgorde
- 9VoorbeeldMaak de regel met zes velden
- 10VoorbeeldControleer de regel voordat je opnieuw opstart
- 11UitdagingMaak onderscheid tussen nofail en noauto
- 12VerbandStel eigenaarschap in op het gekoppelde bestandssysteem
- 13UitdagingHerstel de koppeling na opnieuw formatteren
- 14SamenvattingControleer elke laag
3Zoek waarom een server geen bestanden kan aanmaken
10 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieBegin bij het pad waar de fout optreedt
- 2VoorbeeldLees het bestandssysteem dat het pad bevat
- 3VoorbeeldControleer de inodevoorraad
- 4UitdagingKies een opruimactie voor de ontbrekende capaciteit
- 5VoorbeeldZoek de groeiende directory
- 6TipNeem verborgen opslag mee
- 7UitlegVolg de resterende verwijzing naar een verwijderd logbestand
- 8UitdagingVerklaar het onveranderde rapport over vrije ruimte
- 9UitdagingControleer het resultaat van het opschonen van het logboek
- 10SamenvattingMeet de capaciteit die je hebt hersteld
4Volg een verbinding van interface tot service
15 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieScheid de onderdelen van de verbinding
- 2UitlegLees het lokale netwerk uit de prefix
- 3UitdagingBepaal of een bestemming lokaal is
- 4VerbandHerken de afzonderlijke rollen van adres en router bij IPv6
- 5VoorbeeldBekijk de beknopte adresweergave
- 6VoorbeeldLees de route die voor de bestemming is gekozen
- 7UitdagingVind de router zonder te gissen
- 8VoorbeeldVoeg een volledig tijdelijk adres toe
- 9TipBescherm de toegang bij het toepassen van opgeslagen instellingen
- 10UitdagingVerklaar een verdwenen instelling
- 11UitlegLees een pingresultaat nauwkeurig
- 12VoorbeeldBekijk een alleen lokaal luisterende socket
- 13UitdagingCombineer aanwijzingen uit route en service
- 14VerbandTest de bedoelde applicatie
- 15SamenvattingKies de volgende test op basis van het resultaat
5Leg uit waarom één computer een naam naar een oud adres omzet
11 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieEen naam werkt anders op twee computers
- 2UitlegVolg de zoekvolgorde van het systeem
- 3VoorbeeldVind de verouderde lokale koppeling
- 4UitdagingVoorspel de reikwijdte van een lokale wijziging
- 5VerbandHoud rekening met DNS-antwoorden in de cache
- 6UitlegHerken de lokale stubresolver
- 7VoorbeeldVergelijk twee bewust gekozen zoekpaden
- 8UitdagingInterpreteer een negatief antwoord
- 9UitlegMaak onderscheid tussen foutmeldingen
- 10UitdagingVerklaar schijnbaar overeenkomende tests
- 11SamenvattingVergelijk bronnen voordat je instellingen wijzigt
6Stel toegang op afstand met alleen sleutels in en controleer die
17 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieHoud server- en gebruikersidentiteit gescheiden
- 2VoorbeeldControleer de eerste verbinding
- 3UitdagingReageer op een gewijzigde hostsleutel
- 4VoorbeeldVoer één commando op afstand uit
- 5TipHoud de overdrachtsrichting zichtbaar
- 6VoorbeeldMaak het paar op de client
- 7VoorbeeldInstalleer alleen de publieke sleutel
- 8TipBescherm bestanden en gebruik de agent
- 9UitdagingHerstel een verkeerd gekozen account
- 10UitlegLees de bepalende instellingen van de server
- 11VoorbeeldVereis authenticatie met een publieke sleutel
- 12UitdagingLeg het onderscheid bij aanmelden als root uit
- 13VoorbeeldControleer, herlaad en open een nieuwe sessie
- 14VerbandLees waar de verbinding stopte
- 15UitdagingZoek waarom een latere instelling geen voorrang kreeg
- 16UitdagingTrek de toegang van een verloren apparaat in
- 17SamenvattingTest het nieuwe aanmeldpad
Opslag en netwerken in Linux: oefenvragen
Set 1: Herken opslag en maak betrouwbare koppelingen10 Oefenvragen
Vraag 1 van 10
/dev/nvme1n1p3 aan?Toon antwoordVerberg antwoord
p3 duidt partitie 3 aan; het bovenliggende apparaat is /dev/nvme1n1. De apparaatnaam geeft niet het bestandssysteemtype of koppelpunt aan. Als je het laatste cijfer als schijfnummer leest, verwar je de partitie met de volledige NVMe-naamruimte en kun je het verkeerde doel kiezen.Vraag 2 van 10
Toon antwoordVerberg antwoord
vfat omvat FAT32, waarvan de limiet voor één bestand onder 4 GiB ligt, dus het bestand van 6 GiB past niet als één bestand. Beschikbare totale ruimte neemt die limiet per bestand niet weg. GPT beschrijft partitiegrenzen en is niet het onderdeel dat deze bestandsgroottelimiet van het bestandssysteem oplegt.Vraag 3 van 10
/dev/vdc1 en /mnt/archive bestaat al. Welk commando koppelt die daar?Toon antwoordVerberg antwoord
mount neemt eerst het bronapparaat en daarna de doeldirectory. Als je die omdraait, wordt een directory als bron en een apparaatpad als koppelpunt behandeld. mkfs.ext4 maakt een bestandssysteem en kan bestaande gegevens vernietigen; zo koppel je geen al voorbereid bestandssysteem aan de boom.Vraag 4 van 10
/mnt/store/local.txt was aanwezig voordat je een schijf aan /mnt/store koppelde. Het ontbreekt nu in de lijst. Wat gebeurt er na een geslaagde ontkoppeling?Toon antwoordVerberg antwoord
Vraag 5 van 10
/dev/sdc1 naar /dev/sdd1 nadat een andere schijf is toegevoegd. Welke fstab-bron voorkomt dit probleem met de detectievolgorde het best?Toon antwoordVerberg antwoord
/dev/sdd1 werkt nu misschien, maar laat hetzelfde toekomstige probleem met de detectievolgorde bestaan. Het type en de koppelpuntdirectory beschrijven andere velden van fstab en identificeren het bronbestandssysteem niet uniek.Vraag 6 van 10
Toon antwoordVerberg antwoord
nofail laat het opstarten doorgaan zonder het optionele bronapparaat. noexec regelt het rechtstreeks uitvoeren van bestanden na het koppelen en maakt een ontbrekende schijf niet optioneel. Alleen-lezentoegang en koppelen door een gewone gebruiker betreffen ook ander koppelgedrag en voldoen daarom niet aan deze opstarteis.Vraag 7 van 10
/mnt/usb en geen ander proces gebruikt het. Wat moet je doen?Toon antwoordVerberg antwoord
umount opnieuw om het netjes te ontkoppelen. Bestandsrechten wijzigen verwijdert die verwijzing niet, terwijl het formatteren van de partitie gegevens zou vernietigen zonder de reden op te lossen waarom je shell de koppeling gebruikt.Vraag 8 van 10
Toon antwoordVerberg antwoord
Vraag 9 van 10
noauto toe, herlaadt systemd en voert mount -a uit. De koppeling ontbreekt. Wat is de volgende geschikte test?Toon antwoordVerberg antwoord
mount -a slaat vermeldingen met noauto bewust over en heeft deze koppeling dus niet getest. Voer een commando zoals sudo mount /archive uit en bekijk dat doel daarna met findmnt. Als je hetzelfde commando voor automatisch koppelen herhaalt, wordt de vermelding nog steeds overgeslagen; het ontbreken toont op zichzelf niet dat de UUID verkeerd is.Vraag 10 van 10
noauto,nofail op /mnt/test. De schijf is nu aangesloten, maar mount -a koppelt die niet en een ouder lokaal bestand blijft daar zichtbaar. Hoe kun je de schijf bekijken en dat lokale bestand behouden?Toon antwoordVerberg antwoord
noauto zorgt dat mount -a de vermelding overslaat, dus koppel het doel expliciet. Het koppelen van het bestaande bestandssysteem verbergt de eerdere inhoud van de directory tot het ontkoppelen; het wist of kopieert die niet. nofail verwijderen heft noauto niet op en formatteren zou het bestaande bestandssysteem van de schijf vernietigen.Set 2: Vind bestanden en begrijp speciale vermeldingen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
/home/ren/archive/current slaat ../draft.txt op. Naar welk pad verwijst die?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
brw-rw----. Wat voor soort vermelding is dit?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
copy.txt een harde koppeling naar source.txt en is alias.txt een symbolische koppeling die source.txt opslaat. Wat blijft leesbaar nadat source.txt is verwijderd?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
/usr/lib/systemd/system vervangen. Waar moet een ondersteunde lokale vervanging worden geplaatst?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
ls -l toont een /proc-vermelding met grootte 0, maar cat drukt actuele informatie af. Waarom?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
/home/eli/links/active slaat ../work.txt op. Het doelbestand verhuist naar /data/notes/final.txt op een ander bestandssysteem. Welk type koppeling en relatief doelpad herstellen de toegang via de ongewijzigde koppelingsnaam?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 3: Onderzoek volle bestandssystemen en onverwachte totalen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
/srv/uploads bevat. Welk commando geeft dat rapport?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
df -h toont 18G beschikbaar, maar df -i toont IFree als 0. Welke opruimactie pakt de fout het best aan?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
du -sh * verklaart daar weinig van. Welk commando neemt de verborgen subdirectory's mee?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
/var/cache, inclusief de inhoud. Welk commando moet je gebruiken?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
lsof +L1 en wordt opengehouden door de bijbehorende service. Waarom is de ruimte niet vrijgekomen volgens df?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
lsof +L1 is leeg. Een afzonderlijke schijf is gekoppeld over /srv/data, dat eerder grote bestanden bevatte. Wat verklaart het verschil?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 4: Lees de netwerkstatus en spoor verbindingsfouten op10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
/24 in een IPv4-adres aan?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
inet 192.168.8.44/24 brd 192.168.8.255. Voor welke informatie heb je nog route-uitvoer nodig?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
ss toont een luisterende TCP-socket op 127.0.0.1:8080. Wie kan verbinding maken met dat luisteradres?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
ip is toegevoegd, verdwijnt na een herstart. Hoe zorg je dat het bedoelde adres behouden blijft?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
192.168.12.70/26 met een geschikte route naar het verbonden netwerk. Welke bestemming staat op hetzelfde subnet?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
portal.example.com af, maar ontvangt geen echoantwoorden. Wat moet je hierna onderzoeken?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
192.168.90.25 zonder prefix toe aan een interface die nog geen adres had en schakel je die in. Een andere computer heeft 192.168.90.30/24; er bestaan geen andere routes. Waarom kan de lokale computer de andere computer niet normaal bereiken?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
192.168.6.0/24. De bedoelde server is 192.168.7.40. Op die server werkt de webservice lokaal, maar luistert alleen op 127.0.0.1:80. Welk paar oplossingen pakt beide aangetoonde hindernissen aan?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
192.168.55.130/26 en bereikt andere computers op hetzelfde subnet. Het opgeslagen profiel kiest gateway 192.168.55.1, maar de bedoelde lokale router is 192.168.55.129. Er zijn geen andere routes van toepassing. Welke blijvende correctie past bij de adressering?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 5: Vergelijk DNS-paden en aanwijzingen over verbindingen op afstand10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
resolv.conf vermeldt 127.0.0.53 op een systeem met systemd-resolved. Hoe kun je de werkelijke achterliggende DNS-servers zien?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Permission denied (publickey). In welke fase mislukte deze poging?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
files dns. Een lokale hosts-vermelding koppelt docs.example.com aan een oud adres. Een vraag aan de expliciet geselecteerde autoritatieve DNS-server geeft het nieuwe adres terug. Welke vergelijking verklaart de oude bestemming van een applicatie?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
NXDOMAIN terug. Wat onderscheidt dit resultaat van een time-out?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
0.0.0.0:22 luistert, met een geschikt adres en een geschikte route. Welke aanwijzingen moet je hierna controleren voordat je gebruikerssleutels wijzigt?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
vault.home.arpa. dig zonder expliciete server en getent hosts geven die beide terug; resolv.conf verwijst naar de stubresolver van systemd-resolved. Waarom is dit consistent?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 6: Stel SSH-sleutels in en onderzoek toegang veilig10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
deploy, maar je maakt met die sleutel verbinding als root en krijgt een melding dat toegang is geweigerd. Wat moet je eerst proberen?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
PasswordAuthentication yes in voordat het hoofdbestand dit later op no zet. Er zijn geen Match-blokken. Na het herladen werkt aanmelden met een wachtwoord nog steeds. Wat moet je bekijken en corrigeren?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
.ssh op de server is voor elke gebruiker beschrijfbaar. De client biedt de bijbehorende sleutel aan. Welke oplossing past bij deze aanwijzingen?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Kom je niet uit je eigen opgave? Huiswerkhulp
Kernbegrippen
A
aantal harde koppelingen
ls -l-lijst.alleen-lezenkoppeling
ro als je een bestandssysteem wilt bekijken zonder normaal schrijven door applicaties.applicatietoestand
/var/lib./var/lib kan een actieve database bevatten, dus onderzoek wie die beheert voordat je opruimt.authorized_keys
B
beschikbare ruimte
Avail kan op een ext4-bestandssysteem kleiner zijn dan de totale grootte min de gebruikte ruimte.bestandssysteem
blokapparaat
/dev/sda1.b aan het begin van een apparaatvermelding onderscheidt een schijfpartitie van een gewoon bestand.broadcastadres
brd in ip addr is niet het routeradres dat je als standaardgateway moet invoeren.burentabel
ip neigh vestigt de aandacht op communicatie via de lokale verbinding.C
controlevolgorde van bestandssystemen
0 2: geen dumpvlag voor back-up en daarna een controlevolgorde voor een ander bestandssysteem dan root.D
daadwerkelijk toegepaste configuratie
sshd -T helpt controleren welke waarde voorrang kreeg als instellingen in meerdere bestanden voorkomen.DHCP
ip addr een resterende leasetijd tonen.DNS
DNS-time-out
F
fstab
/etc/fstab nodig als het bij het opstarten opnieuw moet worden gekoppeld.G
gearchiveerd logboekbestand
gereserveerde blokken
gibibyte
G weergeven.lsblk GiB weergeeft.GPT
H
harde koppeling
herladen van de serviceconfiguratie
homedirectory
/home.~ naar je homedirectory, waar verborgen vermeldingen je persoonlijke applicatie-instellingen kunnen bevatten.hosts-bestand
/etc/hosts kan alleen jouw computer naar de vorige server van een website sturen.hostsleutel
I
ICMP-echo
ingevoegde configuratie
sshd -T als een eerder ingevoegde waarde yes een latere instelling no lijkt tegen te werken.inode
interactieve toetsenbordauthenticatie
IP-adres
K
known_hosts
koppeloptie
uid en gid gebruiken om bestanden als eigendom van de bedoelde gebruiker weer te geven.koppelpunt
/mnt/usb verschijnt een bestand daarop onder die directory.L
levensduur
logische bestandsgrootte
ls -l een grote lengte tonen maar veel minder ruimte innemen.loopback
127.0.0.1 in IPv4 of ::1 in IPv6.luisterende socket
ss.127.0.0.1:8080 accepteert lokaal verkeer maar is niet gebonden aan het LAN-adres van de server.M
MAC-adres
major- en minornummers
8, 1 op de plaats van de grootte beschrijft een apparaat, geen bestand van acht bytes.MBR
mktemp
mktemp maakt een tijdelijk privébestand of een tijdelijke privédirectory met een unieke naam en drukt het pad af voor gebruik door de aanroeper.N
naamserver
dig @192.168.1.1 example.com A vraagt die server expliciet om het IPv4-record van de naam.Name Service Switch
hosts: files dns controleert het lokale hosts-bestand voordat DNS naar een overeenkomende naam wordt gevraagd.Netplan
netplan try een terugdraaitermijn bij het testen van een wijziging die de toegang kan verstoren.netwerkinterface
ip -br addr toont Ethernet-, wifi-, loopback- en virtuele interfaces met hun adressen.NetworkManager-profiel
nmcli device status toont en activeer daarna dat profiel.noauto
noauto sluit een vermelding uit van automatisch koppelen bij het opstarten en van mount -a, terwijl expliciet koppelen mogelijk blijft.sudo mount /archive in plaats van te verwachten dat mount -a die koppelt.noexec
noexec voorkomt het rechtstreeks uitvoeren van bestanden vanaf een koppeling, maar verhindert niet dat een interpreter daar een script leest.bash worden doorgegeven.nofail
nofail laat het opstarten doorgaan als een optioneel bronapparaat niet kan worden gekoppeld, wat geschikt is voor verwisselbare of extra schijven.nofail is gemarkeerd.NXDOMAIN
O
ontkoppelen
/mnt/usb verlaten voordat die koppeling kan worden ontkoppeld zonder een foutmelding dat het doel bezet is.P
partitie
p2 in /dev/nvme0n1p2 selecteert één partitie in plaats van het hele NVMe-apparaat.partitietabel
sudo fdisk -l toont het tabeltype en de begin- en eindsectoren van elke partitie.prefixlengte
/26 in een IPv4-adres laat zes adresbits over en geeft 64 adressen in dat subnet.privésleutel
id_ed25519 met rechten 600 zodat andere gewone gebruikers het bestand niet kunnen lezen.procfs
/proc is gekoppeld, waar de kernel op aanvraag actuele proces- en systeeminformatie levert./proc/uptime geeft actuele tijdwaarden terug, hoewel het geen gewoon opgeslagen tekstbestand is.pseudoapparaat
/dev/zero kan invoer leveren bij het maken van een gewoon testimage gevuld met nullen.publieke sleutel
.pub kan worden toegevoegd aan authorized_keys van het bedoelde account op afstand.R
relatief doelpad
resolver
retourtijd
time=0.8 ms meet ook de terugweg, niet alleen het uitgaande pakket.rootdirectory
/, het beginpunt van de ene Linux-boom met bestanden, directory's en gekoppelde bestandssystemen./data is gekoppeld, wordt aan de boom toegevoegd in plaats van een afzonderlijke stationsletter te krijgen.routeringstabel
ip route get 203.0.113.18 toont welke route Linux voor die bestemming zou kiezen.rsync
S
samengevoegde /usr-structuur
/usr-structuur is een indeling waarin paden zoals /bin, /sbin en /lib symbolische koppelingen zijn naar locaties binnen /usr./bin/ls en /usr/bin/ls naar hetzelfde geïnstalleerde commando verwijzen.schijf
schijfgebruik
du optelt in de delen van de boom die het kan bereiken.sudo du -h -d 1 /var om grote directory's te vergelijken nadat je het volle bestandssysteem hebt gevonden.scp
USER@HOST:PATH, met een hoofdletter -P voor een andere dan de standaardpoort.SERVFAIL
servicepoort
SFTP
lcd de lokale werkdirectory, terwijl cd die op afstand wijzigt.SLAAC
sleutelvingerafdruk
sparsebestand
du en du --apparent-size kunnen voor hetzelfde sparse-image sterk verschillende totalen geven.SSH
ssh aya@node.example.com start een sessie op afstand met het account van Aya op de genoemde server.SSH-agent
ssh-add kunnen meerdere verbindingen de geladen sleutel gebruiken zonder je opnieuw te vragen die te ontgrendelen.sshd
ssh op Debian of Ubuntu en de service sshd op Fedora of RHEL.standaard voor de bestandssysteemhiërarchie
/var/log horen.standaardgateway
sticky bit
/tmp, waarvan root de eigenaar is, kan een gewone gebruiker een bestand van een andere gebruiker niet verwijderen alleen omdat de directory beschrijfbaar is.stubresolver
127.0.0.53 stuurt vragen doorgaans naar systemd-resolved op dezelfde computer.symbolische koppeling
../notes.txt begint de zoekopdracht in de directory die die koppeling bevat.sysfs
/sys is gekoppeld en laat zien hoe de kernel apparaten, stuurprogramma's, bussen en bijbehorende instellingen ziet./sys/class/net kun je bekijken welke netwerkinterfaces de kernel kent.T
tekenapparaat
/dev/null dat gegevens weggooit./dev/null omleiden gooit die bytes weg zonder normale uitvoer te verbergen.tijdelijk bestand
/var/tmp in plaats van /run.tijdelijke netwerkconfiguratie
ip is toegevoegd, kan verdwijnen wanneer NetworkManager het verbindingsprofiel opnieuw toepast.tmpfs
/tmp is gekoppeld vullen, ook als de hoofdschijf nog vrije ruimte heeft.U
uitputting van inodes
IFree-aantal van nul verklaart waarom een nieuw bestand mislukt ondanks gigabytes in de kolom Avail.UUID
lsblk -f meldt in plaats van aan te nemen dat een USB-partitie altijd /dev/sdb1 zal zijn.V
verbroken symbolische koppeling
readlink kun je het opgeslagen pad bekijken als het openen van een verbroken koppeling mislukt.verwijderd maar nog geopend bestand
lsof +L1 kan een verwijderd actief logbestand vinden dat een bestandssysteem nog steeds vol houdt.volledig gekwalificeerde domeinnaam
web1.example.com, in plaats van een korte lokale naam.W
wachtwoordzin
wisselruimte
swap wordt geactiveerd als wisselruimte in plaats van gekoppeld voor documenten.Z
zoekachtervoegsel
search example.com kan een zoekopdracht naar web1 de naam web1.example.com proberen.Over deze les
Door StudeliFout melden
Maak je eigen Studiemateriaal
Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.