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

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

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

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 6
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (19%)
    Celkem 561 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Spouštění příkazů ve skriptech - práva (root,user....)

    10.6.2015 11:10 Pavel
    Spouštění příkazů ve skriptech - práva (root,user....)
    Přečteno: 750×
    Zdravím. Na starší PC jsem nainstaloval lubuntu 14.04.2. PC využívám pouze jako nahrávací stroj na pozemní vysílání s programem VDR verze 2.0.3.

    Tento program spustí před i po záznamu tzv.recording-hook, do kterého můžu zadat nějaký příkaz. I když v souboru /var/log/syslog uvidím, že recording-hook proběhl

    7:14 pavel-lubuntu recordingaction: executing /usr/share/vdr/recording-hooks/R90.custom before recording /var/lib/video.00/U_nás_na_farmě/2015-06-10.09.46.11-0.rec as shell script

    Příkaz, který byl do něj vložen (třeba jen zápis datumu do souboru.txt) vykonán není. Pravděpodobně to bude asi nějakými právy, nevěděl by někdo co s tím? To samé když ve scriptu použiju Zenity, tak se okno s upozorněním Zenity spustí pouze, když je script spuštěný z terminálu (jsem root). Když je script spuštěný přes cron, tak se okno Zenity nezobrazí.

    Je nastaveno automatické přihlášení jako root. V PC nic není, bezpečnost neřeším, případný hacker si může maximálně přehrát zaznamenaný Večerníček.

    Zkoušel jsem hledat na webu, ale zatím bezúspěšně. Potřeboval bych nastavit, aby programy VDR a Zenity mohly vykonávat příkazy ze scriptů, které spouští cron. Cron normálně funguje, např.datum zapíše do souboru,ale nechce vykonat Zenity a ten recording-hook.

    Předem díky.

    Odpovědi

    Josef Kufner avatar 10.6.2015 12:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Přístup k X serveru a tedy zobrazení okýnka potřebuje dvě věci. Jednak musí program vědět, kam se připojit, to mu řekne proměnná prostředí zvaná DISPLAY. Druhá věc je, že mu X server musí povolit přístup a to obvykle dělá na základě sušenky uložené v ~/.Xauthority.

    Tedy pokud spustíš něco jako root a chceš, aby to ukázalo okýnko na tvém desktopu, který běží jako uživatel, musíš tyto dvě věci podstrčit ručně:
    DISPLAY=:0 XAUTHORITY=/home/pavel/.Xauthority  zenity --info --text 'Funguje to'
    Ale jinak je lepší root účet nepoužívat a vše dělat pod běžným uživatelským účtem. Odpadnou ti problémy s oprávněními a když něco poděláš, tak si nerozdrbeš celý systém.

    Cron jako uživatel můžeš používat pomocí příkazu crontab -e. Xauthority pak nemusíš řešit, stačí nastavit DISPLAY.
    Hello world ! Segmentation fault (core dumped)
    10.6.2015 13:10 Vtipnéř | skóre: 38 | blog: Vtipnéřův blog | Brno
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Nemám teď VDR nikde puštěno, takže si to nemůžu ověřit, ale myslím, že vše, co VDR dělá, dělá jako uživatel 'vdr'. Takže možná by stačilo nastavit jeho práva pomocí /etc/sudoers a příslušné příkazy pouštět jako 'sudo .....'.

    Jirka
    Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
    Josef Kufner avatar 10.6.2015 13:19 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Pak jsou ještě skupiny. Pokdu se přidáš do skupiny uživatele a bude vhodně nastaven umask, aby výchozí oprávnění byla 0775 a nikoliv 0755 (tedy navíc zápis skupině), budeš moct mu hrabat do vygenerovaných souborů jako běžný uživatel, ale vdr ti nebude moct hrabat do tvých.
    Hello world ! Segmentation fault (core dumped)
    10.6.2015 15:01 Pavel
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Příloha:
    Tedy pokud spustíš něco jako root a chceš, aby to ukázalo okýnko na tvém desktopu, který běží jako uživatel, musíš tyto dvě věci podstrčit ručně: DISPLAY=:0 XAUTHORITY=/home/pavel/.Xauthority zenity --info --text 'Funguje to'

    Zenity skutečně funguje, mám script který se spouští každou minutu pomocí cronu - dal jsem do něj řádek od tebe z příspěvku - Funguje to.

    Díky moc.

    Další věcí jsou ty recording-hooks, už se mi podařilo vykonat příkaz před zahájením nahrávání before - zkusmo napsat datum do souboru. Dále jsou tam shutdown-hooks, to umožňuje PC vypnout dle načasovaného timeru.

    Do přílohy jsem dal soubor shutdown-hooks. Nevěděl by někdo jak ho upravit, aby se před vypnutím PC zobrazila nějaká varovná zpráva, že PC bude vypnutý a tato zpráva pokud ji nezruším, tak se PC vypne.

    Také jsem chtěl upravit soubor /etc/sudoers, aby vdr mohl vykonávat všechny činnosti - bohužel nevím jak.

    Do souboru /etc/lightdm/lightdm.conf jsem napsal autologin-user=root a už není potřeba vyplňovat root a heslo. Dále jsem musel upravit soubor /root/.profile a místo mesg n napsat if `tty -s`; then mesg n fi.

    Josef Kufner avatar 11.6.2015 11:12 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    step=5
    for i in `seq 1 $step 100`
    do
        echo $i
        sleep 1
    done \
    | zenity --progress --auto-close \
        --text '\n<b>Počítač bude vypnut!</b>\n' --time-remaining 2>/dev/null
    
    if [ "$?" = "0" ]
    then
        echo shutdown
    fi
    
    ($step je krok, jak rychle se blížit ke 100%.)
    Hello world ! Segmentation fault (core dumped)
    11.6.2015 15:36 Pavel
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Díky moc, vyzkoušel jsem to a je to přesně to co jsem potřeboval. Funguje mi spouštění z terminálu, zatím nevím do jakého místa vložit to DISPLAY=:0 XAUTHORITY=/home/pavel/.Xauthority aby se to spouštělo i v cronu. Musel jsem smazat --time-remaining, psalo to Tento přepínač není k dispozici. Ale i bez něj to funguje a zobrazuje se na "teploměru" ubíhající čas.

    Recording-hooks mi už fungují i before i after.

    12.6.2015 10:41 Pavel
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Podařilo se mi zprovoznit výše uvedený script zenity, funguje přesně tak jak jsem potřeboval, ale bohužel jen když je spuštěný z terminálu nebo spuštěný automaticky cronem. Vytvořil jsem zkušební soubor Test.sh, který spouští cron každou minutu. V tomto případě zenity funguje jak má ( i výše uvedený script s ukazatelem času i třeba když do Test.sh dám jen informační okno zenity ).

    Ale pokud script se zenity nechám spustit Recording-hooks_after (spustí Test.sh), tak se příkazy v Test.sh vykonají, ale okno zenity není zobrazeno.

    Bude to určitě zase nějakými právy, jsem automaticky přihlášený jako root, potřeboval bych povolit úplně všechno všem, v PC nic na zcizení není.

    Mohl by někdo poradit ? Zatím jsem se ničeho nedopátral. Díky moc.

    Josef Kufner avatar 12.6.2015 13:59 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Říct ti o příkazu xhost by bylo poněkud nezodpovědné, takže takto: Vykašli se na roota, pracuj pod běžným uživatelem a případné spouštění pod jiným uživatelem řeš přes sudo.
    Hello world ! Segmentation fault (core dumped)
    12.6.2015 14:53 Pavel
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Když Recording-hooks spustím z účtu uživatele, tak se nevykoná a v /var/log/syslog dostanu chybu

    Jun 12 14:44:01 pavel-lubuntu recordingaction: executing /usr/share/vdr/recording-hooks/R90.custom before recording /var/lib/video.00/CT_1_HD/2015-06-12.14.44.1-0.rec Jun 12 14:44:01 pavel-lubuntu recordingaction: error when executing /usr/share/vdr/recording-hooks/R90.custom

    Proto jsem našel na webu tu úpravu, abych byl automaticky přihlášený jako root. Potom se Recording-hooks vykonají a v logu chyba není. Zkoušel jsem i do scriptu napsat cestu k zenity /usr/bin/zenity a v souboru zenity změnit v záložce Práva na třikrát Kdokoliv.

    Josef Kufner avatar 12.6.2015 19:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Hlavně by to chtělo zjistit tu chybu a ne jen hlášku, že se stala.
    Hello world ! Segmentation fault (core dumped)
    13.6.2015 17:01 Pavel
    Rozbalit Rozbalit vše Re: Spouštění příkazů ve skriptech - práva (root,user....)
    Příloha:
    Já jsem to vyřešil tím, že místo spouštění Zenity ve scriptu recording-hooks after jsem tímto scriptem nechal zapsat hodnotu 180 do souboru VDR_vypnuti.txt. Tento script Lubuntu_vypnuti.sh spouští cron každé tři minuty a pokud se nasčítá hodnota 180, tj.tři hodiny, tak se PC vypne. Je to proto, když by se náhodou stalo, že by se PC nevypnul dle timeru, tak je tu tato pojistka a po třech hodinách PC vypne. To se mi teď hodilo, tak jsem tu hodnotu 180 nechal zapsat scriptem Recording-hooks_after.sh a PC se začne vypínat, zobrazí se "teploměr" s ubíhajícím časem a pokud po nastaveném timeoutu není vypnutí zrušeno, PC se vypne.

    Můj výtvor v příloze. Berte to s nadhledem, terminál i linux jsem poprvé viděl o něco více než před rokem.

    Tímto chci ještě jednou poděkovat za ten script vypínání Zenity, funguje perfektně.

    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.