abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

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

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 9
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

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

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

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

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 741 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755

    24.10.2009 17:46 wswolf
    php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Přečteno: 3135×
    Zdravim, mam dva dotazy. Nevite nekdo jak docilit toho aby slozka kterou vytvori PHP pomoci mkdir mela prava 777, ikdyz zadam: mkdir("nazevslozky",0777) stejne se vytvori 755.

    A druhy dotaz je proc patri tato slozka uzivateli i skupine www-data, nebo spis jak zmenit tohoto uzivatele a skupinu. Mam server Ubuntu 8.04

    Diky za rady

    Řešení dotazu:


    Odpovědi

    24.10.2009 17:54 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Když pod stejným uživatelem vytvoříte adresář a následně mu nastavíte práva na 0755 pomocí chmod normálně z shellu, práva se nastaví správně? Uživateli a skupině www-data patří pro to, že pod tímto uživatelem běží webový server.
    24.10.2009 19:20 wswolf
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Jojo to se vytvoří správně. Ale z php to dělám z webové stránky, takže pod uživatelem www-data. Ale nechápu proč tam nejde nastavit 777...
    24.10.2009 19:44 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Ale jde o to i z toho shellu to vyzkoušet pod uživatelem www-data. Přepněte se na něj třeba pomocí su nebo příkazy spusťte přes sudo. Pokud to z shellu nepůjde, může jít buď o parametry připojení souborového systému, nebo SElinux (omezující daného uživatele). Pokud to z shellu půjde, může to být buď nějaká konfigurační volba PHP, nebo také SElinux (omezující Apache nebo PHP).
    Toman avatar 26.10.2009 13:21 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Za všechno může umask :-) Takže je dobré to dělat např. takto:
    function make_dir($dir, $perm) {
      umask(0000);
      mkdir($dir, $perm);
    }
    
    26.10.2009 14:50 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755

    Možná raději takto:

      function mkdir_perm($dir, $perm)
      {
        $old = umask(0000);
        mkdir($dir, $perm);
        umask($old);
      }
    
    Toman avatar 26.10.2009 21:25 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    A nebo tak. Ale vy stejně asi budete vždy chtít nastavovat práva oproti masce 0000, takže je zbytečné, podle mne, to vracet do původního stavu. Pro funkci chmod budete také potřebovat "vynulovat" masku, apod.
    27.10.2009 19:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Na chmod() nemá umask vliv, umask omezuje jen práva v okamžiku vytvoření souboru nebo adresáře.
    Toman avatar 29.10.2009 12:41 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    To by pak ale přeci nebylo potřeba vůbec používat umask, ale jen udělat mkdir a hned na to chmod. Nebo se pletu?
    29.10.2009 12:46 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    To zavdává na problémy s race condition.
    In Ada the typical infinite loop would normally be terminated by detonation.
    29.10.2009 16:06 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Obecně určitě ano. Ale konkrétně v tomhle případě, kdy by se práva měnila z 755 na 777, by to nevadilo.
    Toman avatar 29.10.2009 16:16 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Díky za info - já to tedy doposud, pokud to bylo třeba, používal i před chmod, zbytečně.
    29.10.2009 16:23 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Obecně při takové změně práv by to vadilo. Pokud nějaký proces bude čekat, až se objeví danej adresář, aby to do něj něco šouplo, tak bude muset zároveň čekat na ten chmod, jinak se může stát, že to „někdy“ selže při zápisu.
    In Ada the typical infinite loop would normally be terminated by detonation.
    29.10.2009 16:24 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    OK.
    24.10.2009 20:44 Zaphod | skóre: 37 | blog: zaphod_blog
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Tento príkaz pravdepodobne ovplyvňuje príkaz umask - odoberá práva vytvorenému súboru/adresáru. Bežne je nastavený na 022. Treba zmeniť na 000.

    Hodnota sa dá zmeniť v ~/.profile užívateľa www-data. Štandartná hodnota je v /etc/profile.
    24.10.2009 21:22 wswolf
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Pardon předtim jsem to nepochopil, zkusil jsem to z konzole a jde to, takže myslíte že to bude někde v PHP, nevíte kde to mám ale hledat? Dík
    25.10.2009 00:56 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Funkce se překvapivě také jmenuje umask()
    daan avatar 24.10.2009 22:54 daan | skóre: 6 | blog: Clairvoyant | Bratislava
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Ake prava ma nadradeny adresar? Pouziva dany server access control listy?

    Tieto otazky mozes pomoct zodpovedat, ak sem posles vystup z ls -l na spominany nadradeny adresar - je mozme, ze vsetky podadresare automaticky zdedia prava/vlastnikov nadradeneho.
    25.10.2009 00:04 wswolf
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Nadrazeny adresar ma prava 777 (to jsem zmenil hned na zacatku), access control list nevim co je :-( ? majitel nadrazeneho adresar je honza (tedy ja) a nadrazeny adresar patri taktez do skupiny honza, nove vytvoreny adresar ma majitele www-data a patri do skupiny www-data.
    daan avatar 25.10.2009 18:17 daan | skóre: 6 | blog: Clairvoyant | Bratislava
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    naozaj sem skus dat vystup z ls -l, to, ze je nieco "777" v niektorych pripadoch neznamena, ze je skutocne pristupny pre vsetkych. :)

    ak vo vystupe mas nieco ako

    drwxr-xr-x+

    tak sa pouziva ACL - t.j. system, ktory definuje opravnenia o nieco striktnejsie a konkretnejsie vzhladom na jednotlivych vlastnikov a skupiny.
    (je mozne nastavit aj spomina dedenie opravneni) btw, kto je hlavnym spravcom daneho serveru?
    26.10.2009 11:38 wswolf
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Ja teda vubec nechapu na co vam bude ten vypis kdyz jsem sem vse napsal, ale pokud myslite ze to pomuze tak prosim:
    /files/data$ ls -l
    drwxr-xr-x 2 www-data www-data 4096 2009-10-26 11:44 pokus
    
    Nadrazeny adresar:
    /files$ ls -l
    drwxrwxrwx 3 honza honza 4096 2009-10-26 10:42
    
    Hlavnim spravcem jsem ja.
    Ja bych rekl ze to bude nejaka ta konfigurační volba v PHP, jen nevim kde ji hledat. Ale take se mozna platu a je to uplne jinak...
    26.10.2009 11:59 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Konfigurační volby PHP bych hledal v konfiguraci PHP na vašem serveru, a jejich popis v dokumentaci PHP. V dokumentaci PHP máte také zdokumentovánu funkci mkdir(), ze které vede přímý odkaz na funkci umask(), kde je docela dlouhý popis i s příklady.
    26.10.2009 12:36 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Ja bych rekl ze to bude nejaka ta konfigurační volba v PHP, jen nevim kde ji hledat.

    Odpověď už jste ale dávno dostal. Tím, že ji budete ignorovat, nepřestane být pravdivá.

    26.10.2009 18:31 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Za vytváření čehokoliv s právy 777 bych střílel.
    In Ada the typical infinite loop would normally be terminated by detonation.
    26.10.2009 19:40 Zaphod | skóre: 37 | blog: zaphod_blog
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    V USA chodia admini ozbrojení. Asi preto vznikol parameter umask :-)
    27.10.2009 19:36 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Hm… a co 1777, to jste ochoten vzít na milost? :-)
    Bilbo avatar 27.10.2009 23:15 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Na /tmp staci 1733

    Ne vzdy musi uzivatele videt co vsechno je tam za bordel (ok, na svem osobnim stroji tam mam 1777 :)
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    28.10.2009 08:00 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Teoreticky 1733 stačí, v praxi bych asi neriskoval, že jednoho dne, až to nebudu čekat, nějaká aplikace zkolabuje kvůli tomu, že bude chtít prohlížet obsah /tmp a když to nepůjde, nastanou problémy. On by bohatě stačil i skript, který se pokusí použít wildcards.
    28.10.2009 08:37 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Sticky bit je docela příjemná věc a 1733 už zavání bezpečím; pokud ovšem neděláte soubory s právy 777. Nejjednodušší je ale udělat privátní adresář buď /home/pht/tmp nebo /tmp/pht a je vymalováno.

    Pokud se aplikace nedokáže vypořádat s absencí práv, které nepotřebuje, je na čase změnit aplikaci a nikoliv práva.

    1337 je taky dobré pokud víte co děláte. :)
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.10.2009 11:27 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Nejjednodušší je ale udělat privátní adresář buď /home/pht/tmp nebo /tmp/pht a je vymalováno.

    Pro PHP ano, ale mluvil jsem spíš o linuxovém systému obecně.

    28.10.2009 14:51 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Jak se to liší?
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.10.2009 17:10 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Pokud jde o jednoho uživatele a jeden program, tak není problém vyhradit mu jeho vlastní adresář pro pomocné soubory. Ale řešit tímto způsobem celý systém už tak jednoduché není.
    28.10.2009 17:32 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Ale jde to, jen se na to musí použít ty správné nástroje. Jak jsem říkal níže, existuje jich asi miliarda na sto způsobů. Začal bych u export TMP=...

    Ad Vaše reakce
    Co když půjde zrovna o důležitého démona a problém nenastane hned při spuštění, ale v nestřeženém okamžiku někdy později?
    tak se to holt odhalí jako každé jiné selhání. Důležité věci je vhodné monitorovat. A ad
    Kdyby nastavení práv na 1733 znamenalo nějaké významné posílení bezpečnosti
    máte pravdu, že obecně to nějaký podstatný zisk není.
    In Ada the typical infinite loop would normally be terminated by detonation.
    Bilbo avatar 28.10.2009 13:16 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Stejne tak muze zkolabovat pokud si bude chtit precist treba /etc/shadow a ono to nepujde :) Osobne jsem /tmp chmodnuty na 1733 nebo 1773 uz parkrat videl a nezdalo se, ze by s tim byly v nejake aplikaci problemy. Vzhledem k tomu, ze v /tmp muze byt vselijaky bordel od ruznych programu od ruznych uzivatelu, tak se neda spolehat na to, ze tam neco bude nebo nebude.
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    28.10.2009 13:44 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755

    To je ale dost podstatný rozdíl. Soubor /etc/shadow není world-readable nikde (a pokud je, je to chyba), dokonce vznikl právě proto, aby nebyl world-readable (na rozdíl od /etc/passwd, který world-readable být musí). Oproti tomu /tmp má práva 1777 na naprosté většině systémů.

    Netvrdím, že je v pořádku, když aplikace nebude fungovat, pokud jí nedovolím prohlížet obsah /tmp. Ale spoléhat na to, že na takovou dříve či později nenarazím, bych si prostě nedovolil.

    28.10.2009 14:53 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    No, vzhledem k závažnosti problému a arzenálu nástrojů na jeho nápravu bych se nebál takový problém řešit teprv až nastane ;-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.10.2009 17:08 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: php mkdir() neumi vytvorit slozku s pravy 777 ale jen 755
    Na desktopu možná, ale na serveru bych to neriskoval. Co když půjde zrovna o důležitého démona a problém nenastane hned při spuštění, ale v nestřeženém okamžiku někdy později? Kdyby nastavení práv na 1733 znamenalo nějaké významné posílení bezpečnosti, tak by to bylo něco jiného, ale tohle není ten případ.

    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.