Kirjoittaja Aihe: <Ratkesi> ? symboliset linkit ja nettisivut ?  (Luettu 775 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 663
    • Profiili
<Ratkesi> ? symboliset linkit ja nettisivut ?
« : 20.10.24 - klo:02.28 »
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:
Koodia: [Valitse]
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:
Koodia: [Valitse]
-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:
Koodia: [Valitse]
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.
« Viimeksi muokattu: 20.10.24 - klo:13.37 kirjoittanut Mistofelees »

SuperOscar

  • Käyttäjä
  • Viestejä: 4064
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: ? symboliset linkit ja nettisivut ?
« Vastaus #1 : 20.10.24 - klo:09.25 »
En ymmärtänyt ihan kaikkea, mutta pari asiaa:

Luettava tiedosto on symbolinen linkki toisessa hakemistossa olevaan tiedostoon:
ln -s original.txt linkki.php

Tarkoittanet ”linkki.txt” etkä ”linkki.php”?


Lainaus
KOKEILU 1:
Koodia: [Valitse]
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

Koska symlinkeillä ei varsinaisesti ole omistajaa, chown-komento vaikuttaa linkin kohteeseen eikä linkkiin.

Lainaus
- Nettisivua kutsuessa Ctrl-R:llä tai Ctrl-F5:llä ruudulle ilmestyy liitteenä oleva lappu.
Tätä lappua EI tule, jos kutsun Firefoxissa poop.php

Kuvan kyselyikkuna ei liity varsinaisesti mitenkään asiaan. Firefox kertoo siinä vain, että kysely tehdään uudestaan. Tämähän on tavallista esim. kun yrittää siirtyä verkkolomakkeessa selaimen painikkeella taaksepäin.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Mistofelees

  • Käyttäjä
  • Viestejä: 663
    • Profiili
Vs: ? symboliset linkit ja nettisivut ?
« Vastaus #2 : 20.10.24 - klo:13.42 »
En ymmärtänyt ihan kaikkea, mutta pari asiaa:

Tarkoittanet ”linkki.txt” etkä ”linkki.php”?

Koska symlinkeillä ei varsinaisesti ole omistajaa, chown-komento vaikuttaa linkin kohteeseen eikä linkkiin.

Kuvan kyselyikkuna ei liity varsinaisesti mitenkään asiaan. Firefox kertoo siinä vain, että kysely tehdään uudestaan. Tämähän on tavallista esim. kun yrittää siirtyä verkkolomakkeessa selaimen painikkeella taaksepäin.

Kiitos, Tämä ratkaisi asian. Pistä sulka hattuun :)

Tarkemmin ajatellen tuo kyselyikkuna ei todellakaan ilmesty, kun kutsun poop.php, koska en ole suorittamassa 'Reload', vaan käynnistän jo rakennettua html-muotoista 'ohjelmaa'.