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

    Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Komunita

    Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.

    Ladislav Hagara | Komentářů: 2
    včera 17:33 | Zajímavý software

    OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.

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

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 9
    4.6. 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 16
    4.6. 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    4.6. 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 7
    4.6. 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1835 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: 467×
    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.