2.5: Given a scenario, apply the appropriate access controls

────────────────────────────────────────────
📁 File Permissions & Advanced Flags
────────────────────────────────────────────
🔤 Standaardbestandspermissies
────────────────────────────────────────────
Lees (r) = 4
Schrijf (w) = 2
Uitvoeren (x) = 1
Toegepast op: eigenaar / groep / anderen
Instellen via: chmod, umask

Commando Doel
chmod : Wijzig rechten (symbolisch of numeriek).
chown : Verander eigenaar van bestand of directory.
chgrp : Verander groepslidmaatschap van een bestand.
umask : Standaardpermissies bij aanmaken bestanden/directories.

────────────────────────────────────────────
🧩 Speciale bits
────────────────────────────────────────────
Bit Functie
SUID : Programma draait met rechten van eigenaar (meestal root). Bijv. /usr/bin/passwd.
SGID : Bestanden krijgen standaard groep van directory; voor scripts draait met groepsrechten.
Sticky bit : Alleen eigenaar of root mag bestand verwijderen uit de directory (vaak op /tmp).

────────────────────────────────────────────
🛠️ ACL (Access Control Lists)
────────────────────────────────────────────
Commando Functie
getfacl : Bekijk uitgebreide rechten (ACL).
setfacl : Stel rechten in per gebruiker/groep.
Voorbeeld: setfacl -m u:john:rw file.txt

────────────────────────────────────────────
🧱 SELinux (Security-Enhanced Linux)
────────────────────────────────────────────
🧾 Toestandsniveaus
Staat Beschrijving
Enforcing : Beleidsregels worden toegepast.
Permissive : Regels worden gelogd maar niet afgedwongen.
Disabled : SELinux staat uit.

Commando Beschrijving
getenforce : Toont huidige SELinux-modus.
setenforce 1 : Zet enforcing aan.
setenforce 0 : Zet permissive aan.

────────────────────────────────────────────
🔖 Labels en contexten
────────────────────────────────────────────
Tool / Bestand Functie
ls -Z : Toon SELinux-context.
chcon : Wijzig context tijdelijk (niet persistent).
restorecon : Herstel standaardcontext (via policy).
semanage fcontext : Pas permanente context aan.
semanage boolean : Configureer flexibele opties (bijv. httpd_can_network_connect).
setsebool, getsebool : Beheer system booleans.

────────────────────────────────────────────
🏷️ Autorelabel
────────────────────────────────────────────
Wordt gebruikt om alle bestanden opnieuw te labelen bij contextwijziging.
Trigger via: touch /.autorelabel + reboot.

────────────────────────────────────────────
🔐 Policy types
────────────────────────────────────────────
Type Uitleg
Targeted : Alleen specifieke services worden beschermd.
Minimum : Beperkt, alleen essentieel.

────────────────────────────────────────────
🛡️ AppArmor
────────────────────────────────────────────
Kenmerken Uitleg
AppArmor : Profielgebaseerde securitymodule (Ubuntu/ SUSE).
Toepast op Binaire bestanden, op pad gebaseerde bescherming.
Profielen staan in /etc/apparmor.d/

────────────────────────────────────────────
🧰 Overige commando’s
────────────────────────────────────────────
Commando Doel
chattr : Wijzig bestandattributen (bijv. i = immutable).
lsattr : Toon bestandattributen.
audit2allow : Genereert SELinux-beleid op basis van logs (voor troubleshooting).

────────────────────────────────────────────
✅ Samenvatting per domein
────────────────────────────────────────────
Domein Tools / Concepten
Bestandsrechten : chmod, chown, umask, chgrp
ACL’s : getfacl, setfacl
Speciale bits : SUID, SGID, Sticky
SELinux : getenforce, setenforce, chcon, restorecon, semanage
AppArmor : Profielen in /etc/apparmor.d/
System hardening : chattr, lsattr, audit2allow