[17:08] jätkät nyt tulee typerä kysymys [17:08] nc -z -w5 ; echo $? [17:09] mitä tuo echo tekee (tulostaa arvon, miksi se toimii noin?) ja miten saan vietyä sen ykkösen tai nollan muuttujaan bash -skriptillä [17:09] tunnen itseni vitun typeräksi [17:09] arvo=$(nc -z 127.0.0.1 $portti) let "portti++" [17:09] ei toimi noin [17:10] tahdon siis porttiskannata localhostia tietystä rangesta ylöspäin ja löytää aina seuraavan vapaan portin [17:11] echo $? palauttaa edellisen komennon palautusarvon [17:11] joka yleensä on 0 jos homma on ok ja jotain muuta jos jokin on rikki [17:11] miten vien tuon $? omaksi muuttujaksi [17:12] no se olis tossa toi arvo [17:12] hmm [17:12] jostain syystä kun seuraavalla rivillä yritän tehdä if lauseketta $? ympärille niin se menee rikki [17:12] onko ite if lauseke sit rikki? [17:14] no bashin if toimii vähän eri tavalla [17:14] kato googlesta vinkkejä [17:14] arvaa oonko googlettanu monta tuntia ennenku tulin tänne :D [17:15] if [ $? -eq "1" ]; then [17:15] break [17:15] on atm if -lausekkeena [17:16] if [ "$?" = "0" ] ; then [17:16] nc -z 127.0.0.1 $portti; echo $? -rivi kyllä tulostaa ykköset ja nollat oikein, mutta se ei koskaan breikkaa [17:16] näkyy olevan esim. joissain /etc/init.d/:n alla olevissa skriptoissa [17:17] jos laitan nollan se osaa breikata mut ykkösellä ei [17:17] onko mitään ideaa? [17:18] http://pastebin.com/H6RxGjkh [17:18] tossa on koko paska niin helpompi tutkia [17:20] ja olis tärkeää saada se breikkaan ykköseen koska mä haluan tietää mitä on auki, en mitä on kiinni [17:21] $?:n arvon tarkastelu tulis olla heti sen suoritetun komennon jälkeen, koska jo toi echo muuttaa $?:n arvon [17:22] onko suoraa korjausehdotusta [17:22] ideat alkaa olla loppu [17:23] http://pastebin.com/teyccbp0 [17:27] toi sun korjaus antaa ainaki mulla pelkkää tyhjää ja menee läpi arvosta riippumatta [17:28] tietty juu, jos sitä mitään porttinumeroo ei missään kohtaa printata/echota :) [17:28] ..mitä ei ollut alkuperäisessäkään [17:29] jos echottaa $? niin tulee nollaa portista riippumatta [17:29] siis [17:29] alkup nc -z 127.0.0.1 $portti; echo $? [17:29] lisää 'echo $portti' whilen-lohkon jälkeen? [17:30] siis tuo sun korjaus menee läpi jokasella portilla riippumatta vastaako se vai ei [17:30] if [ "$?" = "1" ]; then echo $? [17:30] tulostaa aina "0" ja läpi [17:32] Siis, eikös tuo olisi helppo korjata vaan korvaamalla tuo 'echo $?' vaikka sijoituksella 'loytyi=$?' ja sen jälkeen käyttämällä lopussa skriptiä tuota $loytyi -muuttujaa sen $?:n sijasta? [17:32] [ on komento joka palauttaa oman arvonsa [17:33] Silloin se paluuarvo on otettu talteen saman tien sen suoritetun komennon jälkeen, eikä ole vaaraa, että myöhemmässä kohdassa käytettäisiin jonkin muun komennon paluuarvoa. [17:33] mjr: Just. [17:34] ton sijoituksen jälkeen tää ei palauta enää mitää [17:34] kyl menee vaikeeksi [17:34] :D [17:37] mut et joo, otetaan se arvo talteen [17:38] Siis jotain tommosta: http://pastebin.com/PJsDLDQh [17:40] Portin numero varmaan kannattaa muuten kasvattaa vasta ton testin jälkeen, jos haluaa lopuksi vaikka tulostaa sen löytyneen vapaan portin eikä sen jälkeen seuraavaa porttia. ;-) [17:48] kiitos pesasa <3 [17:48] tein tuon sijoituksen päin vittua [17:49] Eipä kestä [17:51] laitan vielä toisen tyhmän kysymyksen ettei teidän ilta käy pitkäksi [17:52] jos aion ajaa skriptin phpn läpi (shell_exec) ja haluan bindata sen omalle käyttäjälle enkä phpn vakiokäyttäjälle käyttämällä komentoa (su - tuuletin) niin kuinka bindaan salasanan skriptiin ja mahdollisesti en riko tietoturvaa [17:53] seikkailen täällä rajapintojen maailmassa mutta täällä nyt näyttää onneksi olevan guruja paikalla :) [17:57] visudo: /etc/sudoers varattu, yritä myöhemmin uudelleen [17:57] :( [18:01] noni [18:01] laitoin oman rivin sudoersin einkä pääse enää roottiin [18:01] mitäs nyt [18:01] anttal@kotiservu:~$ sudo nano /etc/sudoers >>> /etc/sudoers: syntax error near line 12 <<< sudo: jäsentämisvirhe tiedostossa /etc/sudoers lähellä riviä 12 sudo: no valid sudoers sources found, quitting sudo: menettelytapalisäosan alustaminen epäonnistui [18:07] korjasin sen, ehkä nyt odotan vinkkiä tohon ongelmaan ennenku rikon koko OS:än :D [18:14] minulta taisi mennä ongelma ohi, mutta kaksi vinkkia: 1. käytä "EDITOR=nano visudo" sen sijaan, että muokkaisin tietostoa suoraan ja jotta päivitykset eivät poistaisi muokkauksiasi mielummin jopa "EDITOR=nano visudo -f /etc/sudoers.d/". jos haluat asettaa rootilla salasanan/ottaa sen käyttöön, "sudo passwd" [18:21] ratkaisin ongelman bindaamalla apachen samaan käyttäjään mikä ajaa skriptit [18:21] onko tämä tietoturvariski? [18:22] tahdon siis bindata ei_rootille kaikki skriptit mitkä launchitaan phpn läpi [18:54] oletuksena apachea ajetaan www-data -käyttäjänä, Jos haluat ajaa scriptejä eri käyttäjänä niin määrität sudoon sopivan säännön: www-data saa ajaa näitä komentoja tänä käyttäjänä [19:09] apachelle on oma suexec-systeeminsä jos haluaa ajaa skriptejä eri käyttäjillä