Zero to Hero: Autofs

Wanneer je op een Linux systeem regelmatig dynamisch bestandssystemen moet mounten (bijvoorbeeld NFS home directories), of liever niet alle mounts standaard aan hebt staan terwijl ze nauwelijks gebruikt worden, kan de automounter (autofs) uitkomst bieden.

Autofs mount zichzelf op een directory, en mount dan vervolgens dynamisch subdirectories wanneer ze aangesproken worden, en unmount ze na een periode van inactiviteit weer.

Back To Basics: Root Password Reset

Iedere beheerder komt wel een keer op het punt dat hij het root wachtwoord van een systeem niet (meer) kent. Misschien is het een oud, niet goed gedocumenteerd, systeem, misschien is het een super-speciaaltje uit een verloren tijd, of misschien had iemand dikke vingers bij het instellen.

In een moderne setup kan het het makkelijkst zijn om dat systeem gewoonweg opnieuw in te spoelen, maar helaas is dat niet altijd een mogelijkheid. In het geval van een virtuele machine zou je ook het disk-image ergens anders kunnen koppelen en op die manier /etc/shadow bewerken, maar ook dat is niet altijd een uitkomst.

Wat je wel (bijna) altijd kunt doen, als er geen wachtwoord op de bootloader staat, of dat wachtwoord is bekend, is inbreken op het boot proces en op die manier jezelf toegang verschaffen tot het systeem, waarna je dingen kunt doen als het root wachtwoord resetten naar een bekende waarde.

Beyond the Basics: SELinux Policy Queries

Op een RHEL systeem is standaard een SELinux policy (meestal targeted) actief die bepaalt wat services wel, maar vooral ook niet, mogen doen. In principe is alles wat niet expliciet is toegestaan verboden, maar wat er nou precies is toegestaan is voor veel beheerders een enigma.

Gelukkig zijn er tooltjes waarmee je een SELinux policy kunt uitlezen om te zien wat er nou precies allemaal inzit, zonder naar de source van de policy te hoeven grijpen. Een bijkomend voordeel van je draaiende systeem uitlezen is dat eventueel geladen modules en extensies ook uitgelezen worden.

Custom Atomic RHEL met Bootc

Sinds de release van Red Hat Enterprise Linux (RHEL) 9.4 is er een toffe Technology Preview (TP) waarmee je ostree gebaseerde RHEL systemen kunt uitrollen met je eigen custom images. Denk de Universal Blue variant van Silverblue, maar dan voor je eigen custom RHEL deployments, of het nou gaat om machines in de cloud, bare-metal, lokale VMs, etc.

Een van de leukste dingen hieraan, naast de standaard voordelen van image-based deployments met ostree zoals pijnloze rollbacks etc., is hoe makkelijk het is om je eigen images te maken aan de hand van een Containerfile (Dockerfile voor degenen die in het vorige decennium leven).

Eindelijk van RHEL7 af? In-Place Upgrades met Leapp

De beste methode om naar een nieuwe major versie van Red Hat Enterprise Linux (RHEL) te migreren is met een schone installatie of een nieuw image. In een ideale wereld kun je dit zonder problemen met al je systemen doen, je custom software werkt gewoon, en al je machines zijn volledig met behulp van automation uitgerold en geconfigureerd. In de echte wereld heb je helaas echter altijd wel een paar machines die zoveel handwerk hebben gehad, of zo slecht gedocumenteerd zijn, dat dit niet mogelijk is.

Voor die gevallen is er sinds de release van RHEL8 wel een manier om in ieder geval je OS wel te kunnen upgraden naar een nieuwe versie, zonder een nieuwe installatie te moeten doen: Leapp

De Geheimen van fstab op RHEL9

Vroeger was mounten “makkelijk”, je zette wat instellingen op wat regels in /etc/fstab, draaide mount -a, en hoopte dat het na een reboot ook nog werkte. Echte dependencies voor geneste mounts waren er niet, en alle dingen die je systeem nodig hadden om te draaien zoals /proc en /sys stonden er ook in.

Nu is dit voor eenvoudige dingen genoeg, maar zodra je ook mounts gaat toevoegen die wat moeizamer zijn, zoals mounts die netwerk nodig hebben, of die een harde afhankelijkheid hebben op een al reeds draaiende service, werdt het “interessant”, en dan niet op een leuke manier.

Ook kon een kleine typfout in een secundaire mount het hele boot proces van een systeem tegenhouden, met alle outages en andere lol van dien.