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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

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

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 0
včera 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 23
včera 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 26
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 781 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: update souboru v /etc pres php

1.3.2012 14:00 six6
update souboru v /etc pres php
Přečteno: 345×
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: 60 | 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: 73 | blog: Výlevníček | 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: 66
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.