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 04:44 | Nová verze

    Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.

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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 1
    včera 16:00 | Zajímavý software

    WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 4
    včera 13:33 | IT novinky

    Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Humor

    Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.

    NUKE GAZA! 🎆 | Komentářů: 21
    včera 06:00 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 05:55 | IT novinky

    Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně

    … více »
    Ladislav Hagara | Komentářů: 9
    18.2. 18:33 | IT novinky

    Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.

    Ladislav Hagara | Komentářů: 7
    18.2. 16:22 | Komunita

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (5%)
     (2%)
     (12%)
     (27%)
    Celkem 908 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: PHP system() - práva roota

    FrostyX avatar 13.6.2010 23:42 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    PHP system() - práva roota
    Přečteno: 659×

    Ahoj, mám následující kód:

    $cmd = '/etc/init.d/dhcp3-server restart';
    $output = system($cmd);
    echo $output;

    Dostávám hlášku, že nemám dostatečné oprávnění. Když bych spustil něco jiného (příkladně ping), tak to funguje, takže je opravdu problém v právech. Mělo by to řešit sudoers, ale nějak se mi to nedařilo rozchodit, tak se ptám tu. Jak to rozchodit ? :-)

    Předem díky.

    FrostyX.cz | 1984 was not supposed to be an instruction manual.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (PGD)
    Max avatar 14.6.2010 07:23 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    Ahoj, php běží pod nějakými právy. Pokud nepoužíváš nějaké wrapery, tak běží pod samými právy jako apache (nebo pod jakým webserverem php používáš). Ping ti jede, protože ten jede všem uživatelům a jelikož vyžaduje rootovská práva, tak má nastaven setuid bit.

    Ovšem setuid bit můžeš nastavit jen na binární soubory, nikoli na skripty (ty se totiž nespouštějí přímo, ale přes interpret, např. bash, takže by jsi muset nastavit set uid bit na bash, ale to by jsi si udělal pěknou díru do systému).

    Řešení, které mně napadá, je skutečně použít sudo a do sudoers zanést povolení pro uživatele apache a příkaz pak spouštět 'sudo /etc/init.d/dhcp3-server restart'.

    Pokud ten webserver používáš jen ty, tak by takovéto řešení bylo akceptovatelné. Pokud ho používá i někdo jiný (používáš ho třeba jako webserver pro několik domén), tak je to v případě, že nepoužíváš nějaký wraper na php, bezpečnostní ryziko. Vlastně každý uživatel webserveru by pak měl právo tyto služby spouštět a zastavovat, jelikož by mu php běželo pod stejným uživatelem a používalo stejné nastavení php.ini.
    Řešením by pak bylo spouštět php přes nějaký wraper, aby se daly nastavit práva(uživatel+skupina) pro konkrétní domény.
    Zdar Max
    Měl jsem sen ... :(
    14.6.2010 08:07 PGD | skóre: 3
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    Pokud má apache a běží mu na něm jen jeho aplikace, může ho kompilovat s prefixem -D-BIG_SECURITY-HOLE a spouštět jako root.
    FrostyX avatar 14.6.2010 17:27 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    Apache mi běží pouze na lokální síti. Napsal jsem si takovou menší administraci serveru ve webovém rozhraní (samozřejmně je relativně zabezpečená), takže k ní běžný uživatel nemá přístup. O bezpečnost bych se nebál. Mohl by jsi mi prosím napsat přesný řádek, který bych měl do toho /etc/sudoers/ napsat ? Já jsem to už zkoušel ale nefungovalo mi to. Díky.
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    14.6.2010 17:37 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    Já jsem to už zkoušel ale nefungovalo mi to.
    Příště sem rovnou vložte, co jste tam napsal.
    Mohl by jsi mi prosím napsat přesný řádek, který bych měl do toho /etc/sudoers/ napsat ?
    Tohle by mělo fungovat (jen je možné, že místo apache běží PHP pod jiným uživatelem (např. http, www nebo nobody):
    # apache + dhcp3-server
    Cmnd_Alias DHCPSERVERCMD = /etc/init.d/dhcp3-server
    User_Alias DHCPSERVERGRP = apache
    DHCPSERVERGRP ALL=NOPASSWD : DHCPSERVERCMD
    A nezapomeňte použít visudo.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    frEon avatar 14.6.2010 19:10 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    taky je moznost zabalit prikaz /etc/init.d/sluzba restart do perlovyho skriptu a tomu nastavit suid bit, ale cesta pres suexec je stejne nejlepsi a doporucene reseni ;-)
    Talking about music is like dancing to architecture.
    14.6.2010 19:14 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    SUID bit na skriptu pokud vím nefunguje. Ve skutečnosti se spouští binární soubor interpretu perlu, atkže SUID by musel být ten. Ale to nejde, to by se všechny perl skripty pouštěly pod rootem.

    Čistá cesta je sudo, kde se povolí jen ten /etc/init.d/xxx nebo nějaký obalovací skript. Pouštět celé PHP pod rootem je zbytečné (suexec to ani nedovolí, mpm-itk možná).
    frEon avatar 14.6.2010 19:36 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    aaa, mas pravdu, me to funguje jenom protoze mam nainstalovanej perl-suid, kterej se o ten suid postara...
    Talking about music is like dancing to architecture.
    Max avatar 14.6.2010 19:17 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    Jaký je rozdíl mezi skriptem v bashi a v perlu? Žádný, oba jsou spouštěni interpretem. V případě bashe je to "/bin/sh" - "/bin/bash", v případě perlu "/usr/bin/perl". Nastavit set uid bit na perlovský skript si ničehož nepomůžeš ;-).
    Zdar Max
    Měl jsem sen ... :(
    14.6.2010 09:51 Lubos Kopecky | skóre: 32
    Rozbalit Rozbalit vše Re: PHP system() - práva roota
    resenim by pro tebe mohlo byt bud sudo s vydefinovanyma prikazama pro usera, pod kterym bezi apache, nebo apache2-mpm-itk, ktery umoznuje definovat usera, pod kterym danny virtualhost je spusten, kdy jednomu das proste roota... ale doporucuju tam pod tim virtualhostem nemit nic jinyho nez tyhle potrebny funkce a jeste si to poradne zabezpecit, jinak ti v systemu nekdo nadela peknou paseku...

    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.