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:55 | Bezpečnostní upozornění

    Před týdnem zranitelnost Copy Fail. Dnes zranitelnost Dirty Frag. Běžný uživatel může na Linuxu získat práva roota (lokální eskalaci práv). Na většině linuxových distribucí vydaných od roku 2017. Aktuálně bez oficiální záplaty a CVE čísla [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Humor

    Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.

    Ladislav Hagara | Komentářů: 7
    včera 05:11 | Nová verze

    Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Nová verze

    Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    6.5. 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    6.5. 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 1
    6.5. 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    6.5. 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    6.5. 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 20
    5.5. 20:22 | IT novinky

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (32%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1529 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Unixové nástroje – 18 (nice, renice, umask)

    20. 8. 2010 | David Watzke | Návody | 10658×

    V dnešním díle si představíme programy nicerenice sloužící k nastavení priority procesům, a také umask, který umí zjistit či nastavit masku oprávnění pro vytváření souborů.

    Obsah

    nice

    Příkaz nice slouží ke spuštění programu s danou prioritou. Poprvé se objevil v AT&T UNIXu verze 6. Název vznikl z anglického slova nice, které lze přeložit jako hodný nebo milý.

    Abych upřesnil první větu, program nenastavuje přímo prioritu, ale tzv. hodnotu „nice“ (niceness value), která prioritu procesu ovlivňuje (o to se stará plánovač v jádře operačního systému).

    Hodnota „nice“ může být v rozsahu -20 až 19 (někde 20). Vyšší hodnota znamená nižší prioritu. To si snadno zapamatujete podle toho, že program je méně „hodný“, když má menší hodnotu „nice“.

    Tento příkaz přijde vhod ve chvíli, kdy vám v systému běží více procesů, které vyžadují hodně procesorového času. Pomocí nice snadno ovlivníte, který z nich má plánovač upřednostňovat při přidělování procesorového času.

    Uživatel se standardními právy zpravidla může nastavovat hodnotu „nice“ pouze za nezáporné hodnoty, a to z bezpečnostních důvodů. Dostane-li nějaký hladový proces vyšší prioritu než jiná kritická součást systému, může to způsobit problémy jako třeba pomalou odezvu, atp.

    Příkaz lze použít bez přepínačů tak, že za něj pouze zadáme název příkazu, který chceme spustit, spolu s jeho přepínači:

    nice convert -resize 10% -quality 70 hugephoto.png smallphoto.jpg
    

    Pomocí přepínače -n lze zadat konkrétní hodnotu „nice“:

    nice -n 3 lame --decode soubor.mp3 soubor.wav
    

    Pokud se programu nice nepodaří nastavit hodnotu „nice“, vypíše pouze varování, ale program spustí a návratová hodnota zůstane neovlivněna.

    $ nice -n -20 oggenc soundtrack.wav -o track.ogg
    nice: hodnotu nice nelze nastavit: Operace zamítnuta
    

    Na GNU/Linuxu je v balíku util-linux(-ng) dostupný program ionice, který slouží k podobnému účelu, ovšem neovlivňuje plánování CPU, ale I/O.

    renice

    renice slouží ke změně hodnoty „nice“ u běžících procesů. Znáte-li PID procesu a máte dostatečné oprávnění, můžete změnit prioritu daného procesu:

    # změní hodnotu nice procesu s PID 1024 na 5
    renice -n 5 -p 1024
    

    Kromě PID s přepínačem -p můžete zadávat ještě GID (ID skupiny procesů) s přepínačem -g nebo UID či jméno uživatele s přepínačem -u.

    # změní hodnotu nice všech procesů uživatele „hal“ na 2
    renice -n 2 -u hal
    

    umask

    umask slouží k nastavení masky práv pro vytváření nových souborů (či adresářů) pro daný proces. Název je zkratkou anglického výrazu user mask, což znamená „uživatelská maska“.

    Základy unixových práv si můžete osvěžit přečtením relevantní části jednoho z předchozích dílů tohoto seriálu. Chování masky pochopíte rychle, pokud znáte síťovou masku (netmask).

    # vypíše si aktuální masku
    $ umask
    0022
    
    # vytvoříme soubor a adresář
    $ touch xyz
    $ mkdir zyx
    
    # všimneme si jaká práva má soubor (644) a adresář (755)
    $ ls -ld xyz zyx
    -rw-r--r-- 1 dave home    0 13. srp 00.15 xyz
    drwxr-xr-x 2 dave home 4096 13. srp 00.15 zyx
    

    Adresář má práva 755 a vyšší by ani dostat nemohl, protože skupina a ostatní jsou omezeni dvojkami v masce. Ale soubor má 644, i když by maska dovolila 755. Čím to? Je to tím, že tato maska nijak neříká, že nové soubory či adresáře musí mít nějaká konkrétní práva, pouze omezuje horní hranici těchto práv pro nově vytvářené soubory či adresáře. Programy obvykle vytvářejí obyčejné soubory pouze s právy pro čtení a zápis, protože spouštění nebývá třeba (bylo by nesmyslné).

    Alternativní způsob zadávání masky je podobný jako u chmod. Přepínač -S umožňuje vypsat masku v tomto tvaru:

    $ umask -S
    u=rwx,g=rx,o=rx
    

    Můžete ji v tomto tvaru i nastavit:

    # totéž jako: umask 0037
    umask u=rwx,g=r,o=
    

    Vhodný způsob pro nastavení této masky pro shell je přidat příkaz do souboru, který se spouští při spouštění shellu. Pro Bash například ~/.bash_profile.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    20.8.2010 01:42 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: Unixové nástroje – 18 (nice, renice, umask)
    Existuje mechanismus, jak přiřadit procesům určitého uživatele nějakou výchozí hodnotu nice? Tj. když proces vznikne, aby měl automaticky např. nižší prioritu. Ideálně aby pak uživatel nemohl pomocí renice prioritu zvýšit.

    Uvítal bych v rámci

    Pak měl jednu poznámku k umask. Reálná využitelnost této metody definice výchozích práv často není možná, protože: 1) nejde mít různá nastavení pro různé adresáře a 2) i při spuštění v rámci přihlašovacího skriptu se neuplatní např. při vytváření souborů přes FTP, Sambu, nebo třeba z PHP skriptů. Potom je lepší zapnout na filesystemu ACL, a pak lze nastavit výchozí práva libovolně pro každý adresář nezávisle na způsobu přístupu. Jistě se ale hodí o příkazu umask vědět.
    20.8.2010 01:45 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: Unixové nástroje – 18 (nice, renice, umask)
    Uvítal bych v rámci
    Nějak jsem to nedopsal ... už je pozdě. Chtěl jsem navrhnout pro další díly popis příkazu ulimit, který je pro systémy sdílené více uživateli dost užitečný, a umožňuje např. zamezit shození systému skrze fork-bomb. Ale je okolo toho celá infrastruktura vč. PAM, takže to je skoro na samostatný článek.
    20.8.2010 07:25 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Unixové nástroje – 18 (nice, renice, umask)

    Hodnota nice se dědí, takže stačí hodit příkaz do přihlašovacího shellu nebo do pam_exec.

    Na nějaké větší čachry jsou ale vhodnější control groups (čistě linuxová věc).

    20.8.2010 12:12 bender
    Rozbalit Rozbalit vše Re: Unixové nástroje – 18 (nice, renice, umask)
    a 2) i při spuštění v rámci přihlašovacího skriptu se neuplatní např. při vytváření souborů přes FTP, Sambu, nebo třeba z PHP skriptů. Potom je lepší zapnout na filesystemu ACL, a pak lze nastavit výchozí práva libovolně pro každý adresář nezávisle na způsobu přístupu. Jistě se ale hodí o příkazu umask vědět.
    Někde jsem to už nastavoval, stačí někam do konfigurace pam, která se vztahuje k tomu co ty soubory vytváří přihodit pam_umask.so a dát tam tu masku a fungujeto. Nastavoval jsem to pro sftp a ještě pro něco jiného.
    22.8.2010 13:55 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Unixové nástroje – 18 (nice, renice, umask)
    Existuje mechanismus, jak přiřadit procesům určitého uživatele nějakou výchozí hodnotu nice?

    Lze použít např. PAM modul pam_limits.

    22.8.2010 14:02 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Unixové nástroje – 18 (nice, renice, umask)
    Uživatel se standardními právy zpravidla může nastavovat hodnotu „nice“ pouze za nezáporné hodnoty

    Přesnější by bylo napsat, že normální uživatel smí niceness nastavovat pouze vlastním procesům a smí ji pouze zvyšovat. Znaménko nehraje roli vůbec, takže má-li proces niceness např. -5, smím mu ji zvýšit na -4, naopak pokud bude mít niceness 5, nesmím mu ji snížit na 4. Nula je významná jen tím, že je to obvyklá hodnota niceness, se kterou se uživateli spouští jeho login shell nebo desktopové prostředí, takže pod ni se potom sám (bez pomoci roota) nedostane.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.