WordPress ja tiedostojen oikeudet ja omistajuus LinuxissaWordPress toimii useimmiten Linux-palvelimella, jossa tiedostojen oikeudet ja omistajuus määrittelevät, kuka saa lukea, kirjoittaa ja suorittaa mitäkin. Tämä ei ole pelkkä käyttöjärjestelmätason yksityiskohta, vaan suoraan yhteydessä sivuston turvallisuuteen, päivitettävyyteen ja toimivuuteen.

Väärin asetetut oikeudet voivat johtaa tilanteeseen, jossa:

  • WordPress ei voi päivittää lisäosia

  • teemat eivät tallennu

  • sivusto altistuu murroille

  • tai pahimmillaan koko palvelin vaarantuu

Linuxin oikeusmallin perusidea

Linuxissa jokaisella tiedostolla on:

  • omistaja (user)

  • ryhmä (group)

  • oikeudet (permissions)

Oikeudet jaetaan kolmeen tasoon:

  1. Omistaja

  2. Ryhmä

  3. Muut käyttäjät

Ja kolmeen toimintoon:

  • luku (r = read)

  • kirjoitus (w = write)

  • suoritus (x = execute)

Esimerkiksi:

-rw-r--r--

tarkoittaa:

  • omistaja: luku + kirjoitus

  • ryhmä: luku

  • muut: luku

WordPressin tiedostorakenne

WordPress-sivustossa keskeisiä hakemistoja ovat:

  • wp-content/

  • wp-content/plugins/

  • wp-content/themes/

  • wp-content/uploads/

Näissä hakemistoissa tapahtuu:

  • lisäosien asennus

  • teemojen päivitys

  • mediatiedostojen lataus

Siksi niiden oikeudet ovat erityisen tärkeitä.

Suositellut oikeudet

Yleisesti suositellut asetukset WordPressille ovat:

Tiedostot

644

Tämä tarkoittaa:

  • omistaja: luku + kirjoitus

  • muut: vain luku

Hakemistot

755

Tämä tarkoittaa:

  • omistaja: luku + kirjoitus + suoritus

  • muut: luku + suoritus

Suoritus (x) hakemistolle tarkoittaa oikeutta “astua sisään” hakemistoon.

Omistajuuden merkitys

Oikeudet yksin eivät riitä. Omistajuus ratkaisee, kuka voi muokata tiedostoja.

Tyypillinen tilanne:

  • palvelinprosessin käyttäjä: www-data, apache tai nginx

  • SSH-käyttäjä: esimerkiksi user123

Jos WordPress-tiedostot omistaa väärä käyttäjä:

  • WordPress ei voi päivittää lisäosia

  • päivitys epäonnistuu

  • syntyy tiedostovirheitä

Tyypillinen oikea omistajuus

chown -R www-data:www-data /var/www/html

Tai vaihtoehtoisesti:

  • omistaja: SSH-käyttäjä

  • ryhmä: web-palvelimen käyttäjä

  • oikeudet: ryhmäkirjoitus sallittu

Yleiset virheasetukset

777-oikeudet

Monet korjaavat oikeusongelman näin:

chmod -R 777 wp-content

Tämä tarkoittaa:

  • kaikki voivat lukea

  • kaikki voivat kirjoittaa

  • kaikki voivat suorittaa

Se on käytännössä avoin ovi hyökkääjälle.

Jos sivustossa on haavoittuvuus, hyökkääjä voi:

  • ladata haittakoodia

  • muokata tiedostoja

  • ottaa sivuston haltuun

Sekalainen omistajuus

Tilanne, jossa:

  • osa tiedostoista on root-omisteisia

  • osa www-data-omisteisia

  • osa käyttäjän omisteisia

Tämä aiheuttaa:

  • päivitysvirheitä

  • tiedostojen lukitusongelmia

  • vaikeasti debugattavia tilanteita

WordPressin päivitysmekanismi ja oikeudet

WordPress käyttää useita tiedostojärjestelmämetodeja:

  • suora tiedostokirjoitus

  • FTP

  • SSH

Jos oikeudet ovat kunnossa:

  • WordPress käyttää suoraa kirjoitusta

  • päivitykset toimivat automaattisesti

Jos eivät:

  • WordPress pyytää FTP-tunnuksia

  • päivitysprosessi hidastuu

Turvallinen peruskonfiguraatio

Yleinen turvallinen malli:

  • tiedostot: 644

  • hakemistot: 755

  • omistaja: sama kuin web-palvelimen käyttäjä

  • wp-config.php: 600 tai 640

Esimerkki:

chmod 644 wp-config.php
chmod -R 755 wp-content
chown -R www-data:www-data /var/www/html

Erityistapaus: uploads-hakemisto

wp-content/uploads tarvitsee kirjoitusoikeudet, koska:

  • käyttäjät lataavat mediaa

  • WordPress luo kuvakokoja

Tämän hakemiston oikeudet ja omistajuus on oltava oikein, muuten:

  • kuvien lataus epäonnistuu

  • media library ei toimi

Yhteenveto

WordPressin tiedostojen oikeudet ja omistajuus ovat keskeinen osa:

  • turvallisuutta

  • päivitettävyyttä

  • sivuston vakautta

Oikea perusasetelma:

  • tiedostot: 644

  • hakemistot: 755

  • yhtenäinen omistajuus

Väärät oikeudet voivat rikkoa päivitykset tai avata oven hyökkäyksille. Linuxin oikeusmalli ei ole WordPressin oma ominaisuus, mutta se toimii kuin näkymätön vartija palvelimen ovella. Jos vartija ei tiedä, kuka saa mennä sisään ja kuka ei, koko talo muuttuu nopeasti hyvin epäluotettavaksi paikaksi.