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

    Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].

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

    Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 0
    22.5. 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    22.5. 12:22 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 0
    22.5. 10:55 | Nová verze

    Byla vydána verze 9.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 informačním videu.

    Ladislav Hagara | Komentářů: 5
    22.5. 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 8
    22.5. 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

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

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    21.5. 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
    21.5. 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
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1693 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Smazání souboru jinému uživateli

    29.4.2016 18:59 Webster.K
    Smazání souboru jinému uživateli
    Přečteno: 463×
    Zdravím všechny, mám dotaz. Potřeboval bych v linuxu (debian 8) smazat data jinému uživateli než za kterého jsem přihlášen. Zkusím přesně popsat situaci o co mi jde. Mám jednoho uživatele, který po určité akci spustí script (jde o uživatele git, který po odevzdání na server provede hook) který vytvoří (sestaví) z GIT repositáře pracovní adresář tak, aby z něj apache mohl číst. Tedy vytvoří aktuálně odevzdanou verzi ve /var/www/html/test. Můj problém je ale ten, že projekt který se otevře přes apache bězí na Nette Frameworku, které si ve složce temp/cache vytvoří své vlastní soubory při prvním aktualizování stránky a pak to již z nich vesele načítá. Bohužel tako akce vyvolá to, že vlastník souborů v této složce není uživatel git, ale uživatel www-data.

    A teď. uživatele git a www-data jsou oba ve skupině www-data. Když provedu za uživatele git příkaz rm -rf /var/www/html/test tak nemůžu smazat obsah /temp/cache protože to vytvořil uživatel www-data a i přesto že obydlují stejnou skupinu, nemám na to právo, tuší někdo co s tím udělat? Nemužu totiž za uživatele git ani přes chown změnit vlastníka souboru, neví někdo jak to udělat tak, aby to šlo?

    Řešení dotazu:


    Odpovědi

    29.4.2016 19:20 Filip Jirsák
    Rozbalit Rozbalit vše Re: Smazání souboru jinému uživateli
    Pro smazání nebo přejmenování položek v adresáři je potřeba právo write na ten adresář. Takže pokud adresáře vlastní skupina www-data a má právo zápisu, mělo by z pohledu práv mazání fungovat. Změnit to může nastavený sticky bit na tom adresáři, který způsobí, že položky v adresáři může smazat nebo přejmenovat jenom vlastník nebo root – používá se to třeba na /tmp adresáři. Dál do toho pak ještě mohou zasahovat bezpečnostní moduly, třeba SElinux.

    Pokud byste nechtěl použít řešení s tím, že git je členem www-data, můžete použít ACL – to umožní nastavit oprávnění pro další uživatele a skupiny, ne jen pro vlastníky. Ale to záleží na tom, zda aplikace, která ty soubory a adresáře vytváří, nebude vymýšlet vylomeniny a bude tak fungovat dědění ACL.
    1.5.2016 22:45 Webster.K
    Rozbalit Rozbalit vše Re: Smazání souboru jinému uživateli
    Dal jsem uživatele GIT do skupiny www-data. Celá ta skupina má právo na všechny ty soubory v té složce, nicméně když právě uživatel www-data tam vytvoří soubor, uživatel git, i když je v té samé skupině to smazat nedokáže. Jaké je pro tohle správné nastaveni sticky bitu? Chápu to správně, že nastavení stickybitu pro adresář by mělo být 0?
    2.5.2016 08:37 Filip Jirsák
    Rozbalit Rozbalit vše Re: Smazání souboru jinému uživateli
    Sticky bit 0 a skupina musí mít právo w na adresář, ve kterém je ten soubor. A samozřejmě se musí uživatel k tomu adresáři dostat (práva x na všechny adresáře po cestě).

    A dále bych doporučil nastavit setgid na ten adresář – tím pádem budou nově vytvářené soubory a adresáře mít jako skupinu uvedeno www-data, a ne primární skupinu uživatele, který je vytvořil.
    2.5.2016 14:06 Webster.K
    Rozbalit Rozbalit vše Re: Smazání souboru jinému uživateli
    Nastavil jsem pres roota prava na adresar na 0777. přihlásil se za uživatele git a spustil script. Vše bylo vytvořeno v pořádku. Nyní otevru webový prohlížeč a zadám URL. V tu chvíli se mi ve webovem adresari ve slozce /temp vytvoří složka cache vytvořená uživatelem www-data a je její majitel. takže když opakovaně přes uživatele git spustím script co předtím fungoval, nyní již nefunguje, protoze to hodi chybu s právy.
    Hlavní problém je v tom, že nově vytvořený adresář cache uživatelem www-data vypadá takto:
    drwxr-sr-x 5 www-data www-data 4096 may 2 13:54 cache
    a tento adresář uživatel git již smazat nemůže a to ani když má právo na nadřazené adresáře... pokouším se to smazat rm -rf /cesta_ke_slozce
    Další problém který jsem zaznamenal je ten, že když přes roota spustím na celou složku www chmod 0777 www -R tak to funguje v pořádku, resp script pres uživatele git opet projde. To vše opět jen do chvíle než někdo aktualizuje danou stránku.
    Řešení 1× (Webster.K (tazatel))
    2.5.2016 14:30 Webster.K
    Rozbalit Rozbalit vše Re: Smazání souboru jinému uživateli
    Tak jsem to nakonec vyřešil, jen nevím jestli moc elegantním způsobem :) doinstaloval jsem do apache2 modul apache2-mpm-itk, a přidal do /etc/apache2/sites-available/default toto:
    IfModule mpm_itk_module>
    AssignUserId uzivatel skupina
    /IfModule>

    Zamozřejmně že IfModule musí začínat < a stejně konec, ale nešlo to sem s tím vložit, snad každému bude jasné :) takže nově vytvořený soubory z apache se vytváří pod jiným uživatelem a apache k nim má přístup, takže s nimi může pracovat a uživatel git díky tomu taky. Děkuji za pomoc :)
    2.5.2016 18:18 Filip Jirsák
    Rozbalit Rozbalit vše Re: Smazání souboru jinému uživateli
    Pokud má složka /temp skupinu www-data a práva rwx, pak by uživatel git (pokud je členem www-data) tu složku /temp/cache mohl smazat. Ale ta složka by musela být prázdná. Když jí mažete rekurzivně, předpokládám, že v ní jsou soubory nebo adresáře – a ty uživatel git smazat nemůže, protože pro skupinu není na složce právo x, navíc je tam nastaven sticky bit.

    Nejlepší by podle mne bylo na tom adresáři /temp nastavit přes ACL uživateli git právo zápisu, a to samé dát do defaultních ACL na tom adresáři, aby se to kopírovalo do vytvářených souborů a podadresářů:
    setfacl -m u:gid:rwX /temp
    setfacl -m -d u:gid:rwX /temp
    

    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.