linux bestandsrechten ## 📁 1. Directories aanmaken ### Commando: bash mkdir -p /pad/naar/directory * `-p`: maakt ook bovenliggende directories aan als die nog niet bestaan. ### Voorbeeld: bash sudo mkdir -p /data/sales --- ## 👤 2. Eigenaar en groep instellen van directories of bestanden ### Commando: bash chown [eigenaar]:[groep] /pad/naar/bestand-of-directory ### Voorbeeld: bash sudo chown root:sales /data/sales > Dit stelt root in als eigenaar en sales als groep. --- ## 🔐 3. Rechten instellen met `chmod` Bestandsrechten in Linux worden ingesteld via het **`chmod`**-commando. Je kunt rechten op twee manieren instellen: ### 📌 Symbolisch: bash chmod u=rwx,g=rx,o=rx /pad * `u`: user (eigenaar) * `g`: group * `o`: others (alle anderen) * `r`: read * `w`: write * `x`: execute ### 📌 Numeriek: bash chmod 755 /pad * 7 = rwx * 5 = r-x * 0 = --- * 770 = alle rechten voor eigenaar en groep, geen rechten voor anderen ### Voorbeelden: bash sudo chmod 755 /data # rwx voor user, rx voor group en others sudo chmod 770 /data/sales # rwx voor user en group, niks voor others --- ## ✅ 4. Rechten controleren ### Commando: bash ls -ld /pad/naar/directory Voor bestanden: bash ls -l /pad/naar/bestand Dit toont onder andere: * `drwxr-xr-x` (type + rechten) * Eigenaar en groep * Pad of bestandsnaam --- ## 👥 5. Inloggen als andere gebruiker ### Commando: bash su - ### Voorbeeld: bash su - gewoon > Let op: je moet het wachtwoord van die gebruiker invoeren. --- ## 📄 6. Bestanden aanmaken als andere gebruiker ### Bestanden maken met tekst (bijv. in /data/sales): bash nano /data/sales/klantgegevens.txt Of: bash echo "Voorbeeldtekst" > /data/sales/klantgegevens.txt --- ## 🔍 7. Bestandsinhoud bekijken ### Commando’s: * `cat bestand` — toont de inhoud * `nano bestand` — opent in teksteditor ### Voorbeeld: bash cat /data/sales/klantgegevens.txt --- ## 📁 8. Setgid instellen op directory (zodat bestanden de groep erven) ### Commando: bash chmod g+s /pad/naar/directory ### Voorbeeld: bash sudo chmod g+s /gegevens/to1 > Hierdoor krijgen nieuwe bestanden de **groepsrechten van de directory**, niet van de gebruiker. Je herkent deze instelling in `ls -l` aan een **s** i.p.v. **x** in de groepspermissies: `drwxrws---` --- ## 🧷 9. Sticky bit instellen (alleen eigenaar mag verwijderen) Voor `/gegevens/tmp`, waar iedereen mag lezen/schrijven, maar alleen **de eigenaar** van een bestand het mag verwijderen. ### Commando: bash chmod +t /pad/naar/directory ### Voorbeeld: bash sudo chmod 1777 /gegevens/tmp > `1` betekent sticky bit, `777` staat voor volledige rechten voor iedereen. Sticky bit herken je aan een `t`: `drwxrwxrwt` --- ## ⚠️ 10. SUID-bit instellen Maakt dat een bestand wordt uitgevoerd met rechten van **de eigenaar**, meestal `root`. ### Commando’s: * Kopiëren van programma: bash sudo cp /usr/bin/tail /tmp/ * Eigenaar wijzigen: bash sudo chown root:root /tmp/tail * SUID-bit zetten: bash sudo chmod u+s /tmp/tail SUID zie je als een **s** in het uitvoerbit van de eigenaar: `-rwsr-xr-x` --- ## 🔍 11. Rechten van `/etc/shadow` bekijken ### Commando: bash ls -l /etc/shadow > Normaal gezien: `-rw-r----- 1 root shadow` Alleen root mag lezen! --- ## 🔐 12. SUID-test: /usr/bin/tail vs. /tmp/tail Als je `/tmp/tail` als gewone gebruiker uitvoert en je ziet wél `/etc/shadow`, komt dat doordat het SUID-bit is gezet. Dit is een beveiligingsrisico! Na de test: ### Verwijderen: bash sudo rm /tmp/tail --- ## 🔍 13. SUID-bestanden in het hele systeem zoeken ### Commando: bash find / -type f -user root -perm -4000 2>/dev/null * `-type f`: alleen bestanden * `-user root`: eigenaar root * `-perm -4000`: SUID-bit is gezet * `2>/dev/null`: verberg foutmeldingen (bijv. bij "Permission denied") --- ## 📚 Samenvatting veelgebruikte commando’s | Doel | Commando | | -------------------------------- | ---------------------------------------------------- | | Directory aanmaken | `mkdir -p /pad` | | Eigenaar/groep instellen | `chown gebruiker:groep /pad` | | Rechten instellen (symbolisch) | `chmod u=rwx,g=rx,o=rx /pad` | | Rechten instellen (numeriek) | `chmod 755 /pad` | | Rechten bekijken | `ls -l /pad` | | Inloggen als andere user | `su - username` | | Bestand aanmaken | `nano bestandsnaam` of `echo "tekst" > bestandsnaam` | | Groepsrechten afdwingen (setgid) | `chmod g+s /pad` | | Sticky bit instellen | `chmod +t /pad` of `chmod 1777 /pad` | | SUID-bit zetten | `chmod u+s bestand` | | Zoeken naar SUID-bestanden | `find / -type f -user root -perm -4000 2>/dev/null` | ---