Ero sivun ”Palvelinohjelma xinetd:n avulla” versioiden välillä

Siirry navigaatioon Siirry hakuun
p
ohjeisiinkin + pikkukorjauksia
p (ohjeisiinkin + pikkukorjauksia)
Rivi 5: Rivi 5:
== bc-ohjelma ==
== bc-ohjelma ==


bc on yksinkertainen laskin. Voit käynnistää sen ilman optioita pelkällä bc-komennolla. Kirjoittamalla 1+2 ja painamalla enter pitäisi tulla tulokseksi 3. Lopettaa voit painamalla Ctrl-D.
[[bc]] on yksinkertainen laskin. Voit käynnistää sen ilman optioita pelkällä bc-komennolla. Kirjoittamalla 1+2 ja painamalla enter pitäisi tulla tulokseksi 3. Lopettaa voit painamalla Ctrl-D.


bc on siis samanlainen ohjelma kuin konsoliohjelmat yleensäkin: se lukee syötettä rivi kerrallaan, vastaa komentoihin ja lopettaa kun syöte loppuu. Syötteen voit ottaa esimerkiksi [[Komentorivin perusteet|putkesta]]: kokeile sanoa<br/>
bc on siis samanlainen ohjelma kuin konsoliohjelmat yleensäkin: se lukee syötettä rivi kerrallaan, vastaa komentoihin ja lopettaa kun syöte loppuu. Syötteen voit ottaa esimerkiksi [[Komentorivin perusteet|putkesta]]: kokeile sanoa
<tt>echo "1+2" | bc</tt>
echo "1+2" | bc


== Miten se saadaan verkkoon? ==
== Miten se saadaan verkkoon? ==


Tiedostossa /etc/services on lueteltu palveluiden nimiä ja niitä vastaavia TCP- ja UDP-portteja. Sieltä pitäisi löytyä esimerkiksi seuraavia rivejä:
Tiedostossa <tt>/etc/services</tt> on lueteltu palveluiden nimiä ja niitä vastaavia TCP- ja UDP-portteja. Sieltä pitäisi löytyä esimerkiksi seuraavia rivejä:


  ssh          22/tcp                    # SSH Remote Login Protocol
  ssh          22/tcp                    # SSH Remote Login Protocol
Rivi 18: Rivi 18:
  http          80/tcp      www www-http # WorldWideWeb HTTP
  http          80/tcp      www www-http # WorldWideWeb HTTP


Ylläoleva ei suinkaan tarkoita, että koneessasi olisi ssh-palvelin, telnet-palvelin ja http-palvelin. Palvelut vain on valmiiksi nimetty, niin että voit vaikkapa sanoa "telnet www.flug.fi http" eikä "telnet www.flug.fi 80". Lisätään ensiksi tänne oma palvelumme, vaikkapa porttinumeroon 2008, tekemällä mallin mukaan uusi rivi:
Ylläoleva ei suinkaan tarkoita, että koneessasi olisi [[ssh]]-palvelin, [[telnet]]-palvelin ja http-palvelin. Palvelut vain on valmiiksi nimetty, niin että voit vaikkapa sanoa "telnet www.flug.fi http" eikä "telnet www.flug.fi 80". Lisätään ensiksi tänne oma palvelumme, vaikkapa porttinumeroon 2008, tekemällä mallin mukaan uusi rivi:


<tt>
<tt>
remote-bc    2008/tcp                  # Remote calculator
remote-bc    2008/tcp                  # Etäkäytettävä laskin
</tt>
</tt>


Seuraavaksi siirry hakemistoon <tt>/etc/xinetd.d/</tt> ja tee sinne tiedosto nimeltä <tt>remote-bc</tt> ja tiedoston sisällöksi seuraavaa:
Seuraavaksi siirry hakemistoon <tt>/etc/xinetd.d/</tt> ja tee sinne tiedosto nimeltä <tt>remote-bc</tt> ja tiedoston sisällöksi seuraavaa:


  # Talla voipi laskea 1+2 etana! Jee!
  # Tälla voipi laskea 1+2 etana! Jee!
  service remote-bc
  service remote-bc
  {
  {
Rivi 37: Rivi 37:
  }
  }


Yllä server- ja server_args -määrittelyt tarkoittavat, että ajetaan komento /usr/bin/bc --interactive -q . --interactive käskee bc-ohjelmaa olettamaan että syöte tulee "normaalisti", vaikka se todellisuudessa tuleekin verkosta; -q tarkoittaa "quiet" eli alkuteksti jätetään pois. user -määrittely kertoo minkä käyttäjän oikeuksilla ohjelma ajetaan, ja turvallisuussyistä on tärkeää että annetaan mahdollisimman vähän oikeuksia omaava käyttäjä. socket_type -määrittelyn pitää olla ylläoleva stream, ja disable-määrittelyn tietenkin "no". wait kertoo että uuden yhteydenoton tullessa ei odoteta vanhan loppumista: siis useampi käyttäjä voi ajaa bc-ohjelmaa samaan aikaan.
Yllä server- ja server_args -määrittelyt tarkoittavat, että ajetaan komento <tt>/usr/bin/bc --interactive -q</tt> . <tt>--interactive</tt> käskee bc-ohjelmaa olettamaan että syöte tulee "normaalisti", vaikka se todellisuudessa tuleekin verkosta; <tt>-q</tt> tarkoittaa "quiet" eli alkuteksti jätetään pois. user -määrittely kertoo minkä [[käyttäjä]]n oikeuksilla ohjelma ajetaan, ja turvallisuussyistä on tärkeää että annetaan mahdollisimman vähän oikeuksia omaava käyttäjä. socket_type -määrittelyn pitää olla ylläoleva stream, ja disable-määrittelyn tietenkin "no". wait kertoo että uuden yhteydenoton tullessa ei odoteta vanhan loppumista: siis useampi käyttäjä voi ajaa bc-ohjelmaa samaan aikaan.


Nyt kaiken pitäisi olla valmista. Uudelleenkäynnistä xinetd sanomalla<br/>
Nyt kaiken pitäisi olla valmista. Uudelleenkäynnistä xinetd sanomalla<br/>
Rivi 68: Rivi 68:


[[Luokka:Verkko]]
[[Luokka:Verkko]]
[[Luokka:Ohjeet]]

Navigointivalikko