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

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Nová verze

    CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).

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

    Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Zajímavý software

    Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.

    Ladislav Hagara | Komentářů: 2
    včera 04:44 | Komunita

    Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.

    Ladislav Hagara | Komentářů: 3
    včera 03:00 | Komunita

    Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    3.5. 03:44 | Nová verze

    Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.

    Ladislav Hagara | Komentářů: 5
    1.5. 15:11 | IT novinky

    Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.

    Ladislav Hagara | Komentářů: 47
    30.4. 23:33 | Nová verze

    Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:11 | Nová verze

    Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.

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

    Dotaz: Přenesení proměnných ssh + 'sudo bash'

    15.11.2019 15:32 majales | skóre: 30 | blog: Majales
    Přenesení proměnných ssh + 'sudo bash'
    Přečteno: 379×
    Ahoj, Snažím se odladit skript pro jenkins kde úspěšně používám tuto konstrukci:
    ssh jenkins@IP BACKUPHOSTIP=$BACKUPHOSTIP 'bash -s' <<'ENDSSH'
    hostnamectl
    echo "IP adresa zálohovaného stroje je $BACKUPHOSTIP"
    ENDSSH
    
    což funguje a vypíše to obsah proměnné BACKUPHOSTIP.

    Ovšem při podobném případu a použití sudo toto nefunguje ať se snažím jak se snažím:
    ssh jenkins@IP BACKUPHOSTIP=$BACKUPHOSTIP 'sudo BACKUPHOSTIP=$BACKUPHOSTIP -u backupuser -i bash -s' <<'ENDSSH'
    echo "1 IP adresa zálohovaného stroje je $BACKUPHOSTIP"
    echo "2 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP}
    echo "3 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP@Q}
    ENDSSH
    
    Výsledek je vždy prázdná proměnná. Nevěděl by někdo jak to vyřešit?

    Konstrukci se bash STDIN používám protože by bylo nesnadné prát se se všemi těmi uvozovkami v uvozovkách.


    Řešení dotazu:


    Odpovědi

    15.11.2019 15:57 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    1. man sudoers: Hledej hesla variable a env_reset.
    2. Pro úplnost (což ale není tento případ): v man ssh_config je SendEnv a v man sshd_config je AcceptEnv. To se taky může hodit, kdyby šlo o předávání proměnných z lokálního shellu skrz SSH na druhou stranu.
    15.11.2019 17:06 majales | skóre: 30 | blog: Majales
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    Bohuže ani varianta s -E nezabrala.

    ssh jenkins@IP BACKUPHOSTIP=$BACKUPHOSTIP 'sudo BACKUPHOSTIP=$BACKUPHOSTIP -E -u backupuser -i bash -s' <<'ENDSSH'

    dává stejné výsledky jako předchozí pokusy
    16.11.2019 00:17 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    Nemělo by to sudo být ve zdvojených uvozovkách? V jednoduchých uvozovkách ty proměnné shell nerozbalí.
    16.11.2019 03:42 debian+
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    Premenna pre jeden prikaz sa definuje spravne pred prikazom a nie medzi parametre prikazu (to ze ssh funguje je bonus). A ano, ako pise vyssie s uvodzovkami. Ta cas prikazu. Cez siet sa posielaju retazce textu. Nie, ako zvlast prikaz s lokalnimi premennami a zvlast hodnoty tych premennych.

    Tj. spravne je:
    ssh USER@IP "BACKUPHOSTIP=$BACKUPHOSTIP sudo -u backupuser -i bash -s" <<'ENDSSH'
    echo "1 IP adresa zálohovaného stroje je $BACKUPHOSTIP"
    echo "2 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP}
    echo "3 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP@Q}
    ENDSSH
    alebo ak chces zdoraznit, ze predtym bola definovana:
    BACKUPHOSTIP=$BACKUPHOSTIP; ssh USER@IP "BACKUPHOSTIP=$BACKUPHOSTIP sudo -u backupuser -i bash -s" <<'ENDSSH'
    echo "1 IP adresa zálohovaného stroje je $BACKUPHOSTIP"
    echo "2 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP}
    echo "3 IP adresa zálohovaného stroje je" ${BACKUPHOSTIP@Q}
    ENDSSH
    Inac, prikaz set vypise vsetky aktualne premenne shellu.
    17.11.2019 00:20 majales | skóre: 30 | blog: Majales
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    Ahoj díky za snahu, ale mě to nefunguje..
    root@notebook:/# BACKUPHOSTIP="2.3.4.5"
    root@notebook:/# BACKUPHOSTIP=$BACKUPHOSTIP;echo $BACKUPHOSTIP; ssh USER@IP "echo $BACKUPHOSTIP;BACKUPHOSTIP=$BACKUPHOSTIP sudo -u backupuser -i bash -s"
    2.3.4.5
    2.3.4.5
    echo $BACKUPHOSTIP
    
    ^Croot@notebook:/#
    
    ta proměnná je prázdná.. nepřejde přes to sudo dle všeho. Nakonec jsem to odescapoval, nebylo to tak hrozné..
    Řešení 1× (majales (tazatel))
    Josef Kufner avatar 17.11.2019 00:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    man sudo:
         --preserve-env=list
                     Indicates to the security policy that the user wishes to add
                     the comma-separated list of environment variables to those pre‐
                     served from the user's environment.  The security policy may
                     return an error if the user does not have permission to pre‐
                     serve the environment.
    Hello world ! Segmentation fault (core dumped)
    17.11.2019 00:56 majales | skóre: 30 | blog: Majales
    Rozbalit Rozbalit vše Re: Přenesení proměnných ssh + 'sudo bash'
    Ano, to zabralo zdá se..
    echo $BACKUPHOSTIP
    2.3.4.5
    
    Děkuji.

    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.