Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

Bestandsrechten op je VPS lezen en goed zetten

Elk bestand en elke map op je VPS heeft een eigenaar, een groep en rechten. Staan ze te ruim, dan kan een gehackte website of dienst overal in schrijven. Staan ze te streng, dan krijg je fouten als "Permission denied" of een 403 op je website. Hier lees je hoe je rechten leest en goed zet. Heb je een hostingpakket met DirectAdmin, kijk dan bij Forbidden (403): You don't have permission to access / on this server.

Rechten lezen met ls -l

ls -l /var/www/example.com
-rw-r--r-- 1 anna     www-data  1520 index.html
-rw-r----- 1 anna     www-data   412 config.php
drwxr-xr-x 2 anna     www-data  4096 images
drwxrwxr-x 2 www-data www-data  4096 uploads

Het eerste teken is het soort: - is een bestand, d een map, l een snelkoppeling. Daarna volgen drie groepjes van drie tekens: wat de eigenaar mag, wat de groep mag en wat iedereen anders mag. Daarna staan de eigenaar (anna) en de groep (www-data).

LetterBij een bestandBij een map
rLezenDe namen in de map opvragen
wWijzigenBestanden aanmaken, hernoemen en verwijderen
xUitvoeren als programmaDe map binnengaan en bestanden erin openen

Let op twee dingen. Zonder x op een map kom je niet bij de bestanden erin, ook al zijn die leesbaar. En wie w heeft op een map, kan er bestanden in verwijderen, ook als ze van een ander zijn.

Rechten als getal

Vaak schrijf je rechten als drie cijfers: r telt 4, w 2 en x 1, opgeteld per groepje.

GetalRechtenGebruik
644rw-r--r--Gewoon bestand, bijvoorbeeld een webpagina of afbeelding
755rwxr-xr-xMap, of een programma dat iedereen mag gebruiken
640rw-r-----Configuratie met een wachtwoord, leesbaar voor de webserver via de groep
600rw-------Geheim bestand, zoals authorized_keys, een privésleutel of een .env-bestand
700rwx------Privémap, zoals ~/.ssh

Rechten en eigenaar wijzigen

chmod 640 /var/www/example.com/config.php
chmod g+w /var/www/example.com/uploads
sudo chown anna:www-data /var/www/example.com/config.php

chmod wijzigt de rechten, met een getal of met letters (u, g, o voor eigenaar, groep en overig, met + of -). chown eigenaar:groep wijzigt eigenaar en groep; dat mag alleen root, dus met sudo.

Voor een hele map is chmod -R 644 een bekende fout: alle submappen verliezen dan hun x en worden onbruikbaar. Zet mappen en bestanden apart met find:

sudo find /var/www/example.com -type d -exec chmod 755 {} +
sudo find /var/www/example.com -type f -exec chmod 644 {} +

De webserver via de groep

Op Debian en Ubuntu draaien nginx en PHP-FPM standaard onder de gebruiker www-data. Een nette indeling: jij bent eigenaar van de bestanden, de groep is www-data. De webserver mag dan lezen via de groep, en schrijven alleen in de map waar dat echt moet, zoals uploads (chmod g+w of eigenaar www-data op alleen die map). Geef de webserver geen schrijfrecht op je PHP-bestanden.

Zet nooit 777. Dan mag iedereen op de server het bestand of de map lezen, wijzigen en uitvoeren. Gaat er ooit één website of dienst mis, dan kan de inbreker overal in schrijven waar 777 op staat. Het echte probleem is bijna altijd de eigenaar of de groep: los dat op in plaats van alles open te zetten.

Rechten voor SSH

De SSH-server controleert de rechten van je sleutels. Mogen anderen in je .ssh-map of je thuismap schrijven, dan negeert hij je sleutel en krijg je weer een wachtwoordvraag, zonder duidelijke foutmelding. Zet het zo:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Heb je de map als root voor een andere gebruiker gemaakt, zet dan ook de eigenaar goed, zoals in Een eigen gebruiker met sudo. Op AlmaLinux en Rocky Linux kan ook SELinux een bestand weigeren dat de juiste rechten heeft; bij een handgemaakte .ssh-map helpt restorecon -Rv ~/.ssh.

Zie je ergens een s in plaats van een x, zoals bij /usr/bin/passwd? Dat is het setuid-bit: het programma draait dan met de rechten van de eigenaar. Een paar systeemprogramma's hebben dat nodig, maar zet het nooit zelf op een script. Een onverwacht setuid-bestand kan wijzen op een inbraak, zie Gehackt? De eerste stappen.

Meer leren? Volg de gratis cursus VPS en Linux-serverbeheer, les 3.1 Gebruikers, groepen en bestandsrechten.

Var denne artikel nyttig?

← Tilbage til VPS-hosting

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…