Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


lastige_linux_vragen

Leuke, lastige en interessante GNU/Linux vragen

Leuke, interessante en lastige vragen over GNU/Linux en aanverwante vakgebieden. Om superioriteit te bewijzen of om lastige vragen te stellen tijdens een intake. Het is verbazend hoe vaak mensen, die zeggen veel te weten, toch geen hapklaar antwoord hebben op deze vragen.

- Filesystem

- Inodes

  • Vraag: Wat is een inode?
  • Antwoord: Dat is een pointer naar de data van een bestand. Hierin staat metadata zoals rechten, access/modification tijden en bestandsgrootte.
  • Vraag: Hoe bekijk je de inhoud van een inode?
  • Antwoord: debugfs / stat

- Bestand verwijderen

  • dr-xr-x--- 2 user1 user1 4096 jan 28 11:09 .
    -rw-rw---- 1 user1 user1    0 jan 28 11:09 test1234
  • Vraag: Kan ik bestand test1234 verwijderen als gebruiker user1?
  • Antwoord: Nee, dat kan niet. Omdat de directory niet beschrijfbaar is voor die gebruiker.

- chmod / execute bit

  • Vraag: Je hebt het execute bit van chmod afgehaald. Hoe kan je chmod toch starten om zodoende weer rechten te kunnen zetten? Zonder gebruik te maken van cp, back-up restore, herinstallatie, etc.
  • Antwoord: Controleer of het een 32 of 64 bits binary is: file /bin/chmod . 64bit voorbeeld: /lib64/ld-linux-x86-64.so.2 /bin/chmod
  • Antwoord2: Als je wel cp mag gebruiken kan je een andere executable kopiëren naar /tmp en dan chmod daaroverheen kopiëren zonder (-p).

- Sticky bit

  • Vraag: Wat doet het sticky bit op een recent GNU/Linux systeem?
  • Antwoord: Een sticky bit op een directory zorgt ervoor dat alleen de eigenaar van het bestand, de eigenaar van de directory of root het bestand kan hernoemen of verwijderen.
  • Bonusvraag: Wat doet een sticky bit op een file?
  • Antwoord: Niets.

- Hardware

- CPUs

  • Vraag: Hoe vind ik het aantal fysieke CPUs in een systeem door alleen grep te gebruiken?
  • Antwoord: grep ^physical /proc/cpuinfo

- Memory

  • Vraag: Wat is het verschil tussen swapping en paging?
  • Antwoord: Voor Linux besturingssystemen is dit hetzelfde. Sinds CPUs gebruik maken van virtual memory (gevirtualiseerde geheugenadressen) is het eigenlijk 'paging'. Bij Solaris en andere UNIX systemen is er wel een verschil. Namelijk bij swapping wordt het hele proces tussen disk en memory verplaatst, bij paging alleen de specifieke pages.

- Scripting / shell

- Bash

  • #!/bin/bash
    
    grep MemTotal /proc/meminfo | read stat total size
    echo $total
  • Vraag: Wat geeft dit script als output?
  • Antwoord: Niets, read draait in een subshell (door de pipe), waardes komen wel in de variable terecht, maar nadat read klaar is, is de subshell weg en zijn de variabelen leeg.

- History

  • Vraag: Hoe zorg je ervoor dat in bash bepaalde commando's niet in de history terecht komen?
  • Antwoord: Zet de variabele HISTCONTROL=ignorespace, start de commando's met een spatie.

- Timekeeping

- Aantal NTP servers

  • Vraag: Hoeveel NTP servers zou je minimaal moeten configureren?
  • Antwoord: Minimaal 1, maar voor redundantie zou je er meer moeten gebruiken. Twee is geen goed antwoord, want welke van de twee servers geeft de juiste tijd aan? Gebruikelijk is daarom om 4 servers te configureren.

- ntpq reach

  • Vraag: In de output van ntpq -p staat een reach-kolom met bij elke ntp-server de waarde 377. Wat betekend dit?
  • Antwoorden: Het is een octale waarde, binair is dat 11111111. Hieruit blijkt dat 8 afgelopen keren (poll) de synchronisatie gelukt is.

- Netwerk

  • Vraag: Is 192.168.10.0 een geldig IP-adres voor een server?
  • Antwoord: Dat ligt helemaal aan het subnetmasker.
  • Vraag: Wat doet het volgende commando in bash:
    2>/dev/null >/dev/tcp/mail.polaire.nl/993
  • Antwoord: Hiermee open je een tcp connectie naar een host:port combinatie. Exit code 0 = OK, 1 = Niet OK. /dev/tcp is bash builtin, dus deze kom je niet tegen in /dev.

- Manuals

  • Vraag: Hoe doorzoek je alle manpages?
  • Antwoord: man -k om te zoeken op titels, man -K (hoofdletter) om door alle tekst te zoeken. Dit kan lang duren…

- Processen

  • Vraag: Als het stoppen van een proces met [Ctrl]-[c] niet lukt. Welke toetscombinatie kan je nog meer probleren?
  • Antwoord: [Ctrl]-[\] dit veroorzaakt een QUIT signaal en genereert daarnaast vaak een coredump.
  • Vraag: Wat is een zombieproces en hoe haal je die weg?
  • Antwoord: Dat een proces wat klaar is (exit systemcall), niet meer werkt, maar nog wel in de proces table staat. Komt voor bij child processes, de parent moet de exit status kunnen lezen. Deze zombie zal daarna snel verwijderd worden. Als zombies lang blijven bestaan is dat meestal niet goed. Een zombie is al dood en kan niet gekilled worden. Mogelijke oplossing is het parent proces herstarten.
lastige_linux_vragen.txt · Last modified: 2021/10/09 15:14 by 127.0.0.1