abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    dnes 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | Nová verze

    Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Bezpečnostní upozornění

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1678 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: update souboru v /etc pres php

    1.3.2012 14:00 six6
    update souboru v /etc pres php
    Přečteno: 396×
    Rad bych nejakym bezpecnym zpusobem editoval soubor v /etc pres vlastni rozhrani v php. Napada me, ze by php vytvorilo s pozadavkem zmeny nejaky soubor a shell script v cronu pod rootem by si kazdou minutu kontroloval existenci tohoto souboru. V pripade, ze by tam byl, tak by si z nej vytahl hodnoty a pozmenil podle toho soubor v /etc. Nebo napada nekoho nejaky zpusob jak na to?

    Odpovědi

    1.3.2012 14:25 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Keď už dokážeš v PHP vyrobiť súbor, tak nie je jedno, či jeho existenciu kontroluje cron, alebo ten súbor rovno je v /etc ?
    1.3.2012 14:31 David Karban | skóre: 12 | blog: DK
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Je tu docela rozdíl,

    za předpokladu, že vlastním rozhraním je myšleno webová php aplikace, tak může mít nastaven zápis třeba jen do dočasné složky. Do toho souboru může zapsat uživatel, tedy je nedůvěryhodný.

    Odtud to pak vybere cron skript, který běží pod konzolovým php a ten si projde dočasnou složku, zjistí tam nové verze souborů, udělá kontroly (které nemůže ten, kdo zapisuje do souboru z web aplikace ovlivnit). jestli je vše v pořádku a až pak změny aplikuje.
    1.3.2012 14:56 six6
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Ano, presne tak. Je to webova aplikace. On by v te samotne aplikaci nemel mit nikdo moznost zapsat cokoliv, ale porad to cele bezi pod uzivatelem. Proto bych to rad jeste osetril tim, ze to bude pracovat pres docasnou slozku. Uzivatel tim nebude muset mit pravo zapisovat primo do /etc (protoze tam by mel prece jen pouze root). A jak rikas, pres nejaky kontrolni mechanismus, ale jaky. Napada me jedine vymyslet vlastni algoristmus, ktery by se porovnaval na kazde strane a prip. kazdy den menil.
    1.3.2012 15:13 David Karban | skóre: 12 | blog: DK
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Bez znalostí konkrétních souborů, co se mají měnit těžko poradit :).

    Ale obecně, nelze věřit tomu co předá webová aplikace (resp. je dobré předpokládat že může předat cokoliv). Takže kontrola by měla zkontrolovat nejen že tam je soubor, ale i jestli ty záznamy v souboru jsou v pořádku, nejsou tam znaky co v tom souboru být nemůžou a podobně.

    Příklad: Při editaci /etc/passwd tímto způsobem bych třeba viděl jako minimální kontrolu, že to nezkouší vytvořit nového uživatele s uid 0 (nebo lépe žádného pod 1000) apod. Ještě lépe, ani bych (u vytvoření uživatele například) neumožnil zadávat UID - jen zadat nové uživatelské jméno. Uid, gid, home, vše by dělal až cron skript (který by kontroloval, jestli už uživatel neexistuje, apod). A kontroloval bych pak jestli uživatelské jméno obsahuje jen alfanumerické znaky (resp. jen znaky, které může uživatelské jméno správně obsahovat).

    Je to jako příklad pochopitelné? :).
    Jendа avatar 1.3.2012 21:01 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Netřeba cron, příkaz můžeš spouštět třeba přes sudo rovnou z toho PHP.
    2.3.2012 03:49 Julus
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Dalsi moznost: Zmeny si zapis do Databaze nebo filu. A z cronu muzes volat primo php script. (#!/usr/bin/php), sam vyuzivam tohoto zpusobu na background synchronizaci. Je to divne reseni, ale funkcni. Je pravda, ze tyhle veci muze resit perl, sh, ale za 1) neovladam tak jak na urovni php 2) potrebuju pri tom objekty a mysql,oracle,ldap pristup
    rADOn avatar 2.3.2012 19:12 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Dost by pomohlo kdybys napsal co chces vlastne menit. Vetsina aplikaci dnes umi skladat konfiguraci pomoci nejake varianty include direktivy, cili by ti stacilo psat primo konfigurak do nejaky lokace kam mas pristup z php. Nemusel bys vymyslet "pozadavky na zmenu", stacilo by precist co uz tam je, zmenit a (atomicky) zase zapsat. Ve skriptu bys musel osetrit aby se zapisovaly jen povoleny direktivy, ale to musis nejak osetrit vzdycky. Aplikace vytvorenou konfiguraci includuje do hlavniho konfiguraku, otoceni daemona pri zmene konfiguraku zaridi inotify nastroje.

    Pokud nevystacis s necim hodne jednoduchym, tak bych se spis poohlednul po nejakem hotovym demonu ktery by prijimal rozkazy po nejakym IPC (xml-rpc, dbus, ICE…) a umel podle nich delat nejaky predem nastaveny akce. Jednodussi verze by byla mit pripraveny hromady skriptu a dobre napsanej konfigurak pro sudo… To co chces je dost nebezpecna vec takze bych se co nejvic drzel hotovych a vyzkousenych nastroju, i kdyz naucit se s nimi delat treba nebude jednodussi nez si neco zbastlit na kolene.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    6.3.2012 13:49 six6
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Predem diky vsem za rady, posunulo me to zase kousek dal. Konkretne me jde o jedinou vec a to asi u 20 domen (virtualhost) pridavat/mazat subdomeny.
    rADOn avatar 6.3.2012 16:41 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    To je takrka klasickej priklad. AFAIK vetsina distribuci to dela tak jak jsem to popisoval, treba debiani defaultni konfigurak includuje vsechno co najde v /etc/apache2/sites-enabled/, kazdej vhost tam ma svuj soubor (ve skutecnosti symlink ale to uz je jina pohadka). Cili staci obslehnout tu includovaci direktivu a namirit ji na jiny adresar kam ma tvuj proces pravo na zapis.

    btw umis delat atomicke zapisy? Kdyz ti z nejakeho duvodu zdechne proces php – coz se muze stat – behem zapisovani, muzes skoncit s necitelnym konfigurakem a apac nenabehne. Coz nepotesi :-)
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    7.3.2012 15:06 Ales
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    proto je dobry pouzit 'apache2ctl configtest' pred votocenum apache.
    7.3.2012 15:36 six6
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    nj, ale jestli chapu spravne jak to myslis, tak porad budu mit nekde slozku sites-enabled (prip. sites-available) s pravama r/w, abych to mohl editovat. Sice uz nebude vystavena cela /etc, ale sites-en./av. bude. Porad se me zda, ze nejlepsi reseni bude nejaka tmp slozka s docasnym konf. souborem a do ni si bude sahat skript z cronu uz s root pravama (+nejaky overovaci mechanismus). Atomicky zapis jsem neznal, diky.
    rADOn avatar 7.3.2012 17:13 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Straslive nebezpecny to bude at uz to udelas jakkoliv. Zvlast jestli to bude konfigurace stejneho apace nad kterym pobezi ten samotny editacni skript. Skript ktery by to zvalidoval nezavisle a neslo by ho zevnitr php ovlivnit by byl samozrejme plus, ale nemusis na nej delat vlastni "zmenovy" minijazyk, stacil by v podstate sed skript ktery by by zkontroloval predlozeny uz hotovy konfigurak. Dalsi co by pomohlo je nesnazit se porozumet a zapisovat z php primo do konfiguraku, ale proste ho serializovat do nejakyho objektu, zmenit co potrebujes a cely zapsat nacisto (coz stejne potrebujes kvuli atomicite). Tim muzes snaz zarucit ze se do toho konfiguraku dostane jen to co tam patri. Nebo muzes drzet a editovat "zdrojovou" konfiguraci nekde bokem v databazi a konfigurak psat pokazde nacisto. Apac ma dokonce moduly ktere umi cist konfiguraci virtualhostu primo z sql databaze…
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    7.3.2012 17:36 Kit
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Apac ma dokonce moduly ktere umi cist konfiguraci virtualhostu primo z sql databaze…
    Tohle řešení by mohlo být nejzajímavější. Něco jsem sice našel, ale to asi nebude ono.
    7.3.2012 15:04 Ales
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    pokud subdomeny budou jen subweby, tak nejjednoduzsi je v dns pouzit wildcard *.domena.tld a v httpd pak subdomeny dynamicky generovat adresarovou strukturou a rewrajtama.

    v pripade ze subdomena bude na jinym kompu/ipecku/jina sluzba, tak misto bindu pouzit mydns. k tomu se da pak udelat management (na https) jednoduse, zony si uklada do mysql a do ni bude mit prava select a insert. bind se da pouzit jako sekundarni dns.

    jestli musis/chces zustat u bindu, tak se daj zony uklada jinam nez do /etc. server neni potreba restartovat, staci vyuzit nastroj rndc, ale to muze jen root. reseni zmeny usera v managementu (na https) but pomoci sudo, apache suexec ci cgi phpkem se nevyhnes. a to ti, kvuli 20 domenam co bude editovat pravdepodobne kolega, za namahu podle me nestoji.
    7.3.2012 15:51 six6
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    dynamicky generovat adresarovou strukturou a rewrajtama .... to je dobrej napad. Kousek jina cesta nez jsem myslel, zvazim ... Dekuju
    Josef Kufner avatar 7.3.2012 17:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: update souboru v /etc pres php
    Ono ani nemusis nic generovat. Koukni na Dynamic Virtual Hosts. Pak vyrobíš virtualhost prostým vytvořením adresáře.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.