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 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 5
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 3
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 580 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    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: 435×
    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.