Restricting Users and Files

🚫 Hoofdstuk 15.5: Gebruikers- en Bestandbeperkingen in Linux

Linux biedt mogelijkheden om systeembronnen te beperken per gebruiker en bestanden te beschermen tegen ongewenste wijzigingen. Dit voorkomt misbruik van bronnen en verhoogt de systeembetrouwbaarheid.

────────────────────────────────────────────
πŸ‘€ Gebruikersbeperkingen met ulimit
────────────────────────────────────────────

Het `ulimit`-mechanisme stelt limieten in voor hoeveel bronnen een gebruiker mag verbruiken. Dit helpt om één gebruiker te beperken zodat hij of zij het systeem niet overbelast.

πŸ“Œ Veelvoorkomende limiettypen:

β€’ **-a** β†’ Toont alle ingestelde limieten voor de huidige gebruiker
β€’ **-f** β†’ Maximaal toegestane bestandsgrootte (in blokken)
β€’ **-n** β†’ Aantal gelijktijdig open bestanden per gebruiker
β€’ **-u** β†’ Aantal processen dat een gebruiker mag starten
β€’ **-t** β†’ Maximale CPU-tijd per proces (in seconden)

πŸ”’ Voorbeeldtoepassingen:
– Voorkomen dat een gebruiker gigantische bestanden aanmaakt
– Beperken van serverbelasting door limieten op processen of open bestanden
– Verhogen van beveiliging bij gedeelde omgevingen

πŸ›  Beheer:
De instellingen kunnen tijdelijk worden toegepast in een sessie of permanent worden ingesteld in shellconfiguratiebestanden zoals `.bashrc`, `/etc/security/limits.conf`, of via systemd-servicebestanden.

────────────────────────────────────────────
πŸ“ Bestandsattributen beheren met chattr
────────────────────────────────────────────

Het `chattr`-mechanisme biedt extra bescherming voor bestanden. In tegenstelling tot standaard bestandsrechten, blijven deze attributen van kracht β€” zelfs voor rootgebruikers β€” tenzij ze expliciet worden verwijderd.

πŸ“Œ Veelgebruikte attributen:

β€’ **+a** (append only):
– Bestand mag alleen worden aangevuld, niet overschreven of verwijderd
– Handig voor logbestanden of auditfiles

β€’ **+i** (immutable):
– Bestand kan niet worden aangepast, hernoemd of verwijderd
– Extra bescherming tegen malware of gebruikersfouten

β€’ **+s** (secure deletion):
– Bij verwijdering worden gegevens overschreven met nullen
– Beperkte ondersteuning op sommige bestandssystemen

β€’ **+d** (no dump):
– Bestand wordt uitgesloten van back-ups met `dump`

β€’ **+j** (journal):
– Wijzigingen worden eerst in een journal geplaatst
– Zorgt voor betere gegevensintegriteit op bestandssystemen zoals ext3/ext4

πŸ“Œ Toepassing:
Deze attributen worden vooral gebruikt op systemen met hoge beveiligingsvereisten of bij back-ups, logbeheer en configuratiebestanden.

────────────────────────────────────────────
βœ… Samenvatting
────────────────────────────────────────────

β€’ `ulimit` stelt limieten in voor wat een gebruiker op het systeem mag doen qua bronnengebruik
β€’ `chattr` biedt geavanceerde bescherming op bestandsniveau, zelfs tegen root
β€’ Samen vormen ze een belangrijk onderdeel van systeembeveiliging, stabiliteit en resource management