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í
×
    včera 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 7
    včera 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 2
    včera 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    30.12. 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    30.12. 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    30.12. 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    NUKE GAZA! 🎆 | Komentářů: 14
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    NUKE GAZA! 🎆 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    NUKE GAZA! 🎆 | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (30%)
     (1%)
     (26%)
     (1%)
     (1%)
     (1%)
     (11%)
     (10%)
     (19%)
    Celkem 215 hlasů
     Komentářů: 22, poslední včera 15:34
    Rozcestník

    PHP potřetí(exec)

    15.2.2007 15:08 | Programování

    Tak už jsem vyřešil skoro všechny základní problémy v projektu, který v PHP-ku píšu. Poslední věc, se kterou si tak trošku nevím rady, je jak zajistit spouštění systémových příkazů jako iptables, nebo service ...(které může spouštět jenom root).

    Dělat to přes sudo NOPASSWD se mi zdá docela hloupé, protože tím udělam docela díru do systému, která by se sice myslím dala nějak zalepit pomocí SELinuxu, ale do toho se mi nechce.

    Existuje tedy nějaká dobrá metoda, jak to v PHP zajistit?

    Předem děkuji za rady.

           

    Hodnocení: 33 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    15.2.2007 15:41 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    sudo s NOPASSWD klidne pouzij ale ke kazdemu systemovemu prikazu si udelej skript ktery bude delat jen ciste to co chces vcetne osetreni vstupu

    takze udelas treba restart_httpd.sh ve kterym bude jen /sbin/service httpd restart a do sudoerrs das neco jako

    uzivatel ALL = NOPASSWD: /usr/local/bin/restart_httpd.sh

    tim uzivateli povolis pres sudo poustet jen /usr/local/bin/restart_httpd.sh
    15.2.2007 15:44 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    Vzhledem k tomu, že tyto aplikace musí běžet pod rootem, obejít to nijak nepůjde, to by to zabezpečení v Linuxu nebylo k ničemu. A jak spustit aplikaci pod rootem, aniž bych byl root? V úvahu připadá suid bit, a to není zrovna nejlepší varianta, a pak sudo. To už je lepší. Můžete si třeba vytvořit nějakého uživatele a sudo povolit jemu, z PHP pak spouštět pod daným uživatelem sudo -u. Samozřejmě je nutné počítat s tím, že kdokoliv může vidět zdrojové kódy toho PHP (nebo nějaký konfigurační soubor, kam uložíte jméno/heslo toho uživatele), může spouštět i ten sudo skript.
    15.2.2007 16:10 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    hmm, a takáto možnosť?

    ls -l /usr/sbin/suid-php:
    -r-sr-x--- root suidphp  suid-php
    
    head -1 aaa.cgi:
    #/usr/sbin/suid-php
    
    Josef Kufner avatar 15.2.2007 16:18 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    Spouštět php s právy roota je poněkud, ehm, nebezpečné. Řešení se specializovanými, jednoduchými a neprůstřelnými scripty + sudo je asi nejbezpečnější.
    Hello world ! Segmentation fault (core dumped)
    15.2.2007 18:11 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    njn, php sux, ale riešenie to je :-)

    potom by ešte bolo možné vytvoriť virtual host s iným User ako celý apache, a sudo povoliť len na tohoto užívateľa.

    15.2.2007 16:23 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    tohohle bych se bal.

    pokud to ma jet jako webova sluzba, pak by musel uzivatel apache(httpd), pod kterym je spusten webserver, byt ve skupine suidphp a to znamena, ze kdokoliv, kdo muze vytvaret skripty na tom stroji, se dostane k pravum roota
    15.2.2007 16:24 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    skripty jako ve smyslu muze vytvaret dynamicky generovane stranky
    15.2.2007 16:22 Abraxis
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    Take jsem totez resil (sprava uzivatelu, skupin, kvot apod. pres webovske rozhrani) a nic lepsiho nez sudo jsem nenasel.

    Jen bych doporucil napsat si vlastni funkci: MyExec($command) ktera teprve udela exec ('sudo "'.AddSlashes($command).'"'); (pripadne zalogovani a dalsi veci) a dusledne volat to vzdy pres tuhle funkci.
    15.2.2007 16:39 Honza
    Rozbalit Rozbalit vše Re: PHP potřetí(exec)
    Ja podobny problem kdysi resil pres suid C-ckovi wrapper pro perl-ovy skript s zapnutym 'tainted mode'. Perl s touto variantou nejak pocita, jak moc je to bezpecny ale ale otazka...

    Založit nové vláknoNahoru

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