Ratkesi:
Syy löytyi vastauksena tulleen viestin perusteella.
chown -komento todellakin muuttaa original.txt -tiedoston omistusasetuksia.
En vaan ollut katsonut niitä oikeassa vaiheessa, joten MY BAD !
Kiitos opastuksesta !
KYSYMYKSET:
- Miten Firefox erottaa, kuka on sen tiedoston omistaja, josta nettisivu on generoitu ?
- Miksi tiedostolistauksessa linkki.txt omistajana näkyy aina root:root, vaikka tiedosto on annettu käyttäjälle www-data:www-data
- Onko olemassa komentoa, jolla näkisi linkki.txt -tiedoston TODELLISEN omistajan
TAUSTA
Minulla on kotiserverissä itsetehty index.php, jonka alussa puhdas html-koodi kirjoittaa alkuosan <table> taulukosta.
Loppuosa on php:tä, joka lukee linkki.txt tiedostoa riveittäin, muokkaa lukemaansa ja rakentaa siitä <table>-taulukon loppuosan.
Luettava tiedosto on symbolinen linkki toisessa hakemistossa olevaan tiedostoon:
ln -s original.txt linkki.txt
Alkuperäiseen tiedostoon original.txt ja sen hakemistoon tai näiden oikeuksiin ei kosketa lainkaan:
drwxrwxr-x 3 pasi pasi 4096 Oct 19 15:09 ./
drwxr-xr-x 60 pasi pasi 4096 Oct 16 14:00 ../
-rw------- 1 root root 140063 Oct 19 15:09 original.txt
Nettisivuun index.php tai sen oikeuksiin ei kosketa lainkaan:
-rw-r--r-- 1 www-data www-data 5789 Oct 19 16:29 index.php
ENSIMMÄINEN TAPAUS:
- Annan serverillä komennon 'php index.php > poop.php
- Firefox avaa tämän poop.php sivun aina ilman ongelmia
TOINEN TAPAUS:
KOKEILU 1:
root@kone:/tracker# chown www-data: linkki.txt
root@kone:/tracker# ls-l linkki.txt
lrwxrwxrwx 1 root root 30 Oct 19 10:09 linkki.txt -> /home/pasi/Sijainti/original.txt
- Nyt nettisivu aukeaa Firefoxilla kuten kuuluukin
- Nettisivua kutsuessa Ctrl-R:llä tai Ctrl-F5:llä ruudulle ilmestyy liitteenä oleva lappu.
Tätä lappua EI tule, jos kutsun Firefoxissa poop.php
- php index.php >poop.php tuottaa virheettömän poop.php tiedoston
KOKEILU 2:
root@kone:/tracker# chown root: linkki.txt
root@kone:/tracker# ls -l linkki.txt
lrwxrwxrwx 1 root root 30 Oct 19 10:09 linkki.txt -> /home/pasi/Sijainti/original.txt
- Nyt Firefoxin ruudulle tulee vain index.php:n html-koodilla kirjoitettu osa, mutta ei php:llä
- Firefox ruudulle ei tule lappua "To display this page, ..."
- php index.php >poop.php tuottaa virheettömän poop.php tiedoston
KOKEILU 1 ja KOKEILU 2 suoritetaan koskematta index.php ja original.txt -tiedostoon mitenkään. Ainoa, mikä muuttuu, on linkki.txt -tiedoston omistaja
TAUSTATIEDOT:
- index.php on käsin kirjoitettu html-tageina ja php:nä, Ei CSS:ää eikä linkitettyjä kirjastoja.
- original.txt sisältää ainoastaan US-ASCII merkkejä ja rivinvaihtomerkkejä
- Olen kirjoittanut aikojen kuluessa satoja (isojakin) nettisivuja erilaisin työkaluin erilaisiin ympäristöihin.
DISTRIB_DESCRIPTION="Ubuntu 24.10"
Server version: Apache/2.4.62 (Ubuntu)
Server built: 2024-08-15T07:32:14
PHP 8.3.11 (cli) (built: Sep 30 2024 12:07:44) (NTS)
Tämän kanssa on mennyt tänään useampi tunti hukille.