Portál AbcLinuxu, 21. července 2025 01:54


Dotaz: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech

polo23 avatar 10.9.2011 17:03 polo23 | skóre: 28 | blog: polo23
Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Přečteno: 594×
Odpovědět | Admin
Ahoj,
chci se zeptat zda je nejaka moznost jak spustit program s tim, ze jeden z parametru je heslo tak, aby pri vylistovani procesu nebylo videt?
program -u user -p heslo
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.9.2011 17:11 Kit
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Univerzální řešení asi není, ale pokud napíšeš, o který program se jedná, tak na to možná přijdeme.
10.9.2011 17:28 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jako parametr to nejde. Program si může o heslo říci na vstupu a neopisovat ho na výstup (jako to dělá třeba login), nebo může program místo hesla na příkazové řádce umožnit zadat cestu k souboru, kde je heslo uvedeno. To jsou asi dvě nejjednodušší možnosti pro konzolové aplikace.
polo23 avatar 10.9.2011 19:40 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
No zrovna jsem pracoval s nasledujicim (jedna se o ovladani VMware z CLI):
vmrun -T server -h https://localhost:8333/sdk -u user -p heslo listRegisteredVM
Kdyz jsem misto hesla dal cestu k souboru tak mi to napsalo chyb. hlasku:
Error: Insufficient permissions in host operating system
Pokud jsme zadal heslo tak to jelo.

Nejsem si ted jisty jak je to u samby, ale kdyz chci moutovat svazky a mit to napsane rovnou ve fstab tak tam musi byt taky heslo ne?
Ale nezkousel jsme takze nevim - mozna tam staci uvest cestu k souboru.
pepe_ avatar 10.9.2011 20:34 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech

a co    heslo je v /home/user/heslo.txt

 

vmrun -T server -h https://localhost:8333/sdk -u user -p `cat /home/user/heslo.txt` listRegisteredVM

polo23 avatar 10.9.2011 20:56 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
No to je prave v procesech videt - zkousel jsem.
10.9.2011 22:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
To funguje tak, že shell spustí cat … a výsledek předá jako parametr vmrun. Takže v seznamu procesů to opět bude vidět – stejně jako jakýkoli jiný způsob předání parametru.
10.9.2011 22:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
To načtení hesla ze souboru musí program samozřejmě podporovat, nejspíš pak na to bude mít jiný parametr, než na samotné heslo (aby nemusel hádat, o co jde).

Z dotazu nebylo jasné, zda to chcete sám implementovat, nebo jde o nějaký cizí program. Pokud jde o druhý případ, záleží jenom na tom, co je v programu implementováno. Pokud umožní zadat heslo jen jako parametr, nic s tím nenaděláte (kromě patche). Třeba takové ssh naopak vůbec neumožňuje zadat heslo jako parametr a musíte jej zadat buď interaktivně, nebo se používá soubor (s klíčem místo hesla, ale je to stejný princip).
10.9.2011 22:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Zapomněl jsem na tu Sambu – tam se dá právě použít ten soubor, parametrem credentials řeknete, kde je soubor se jménem a heslem (a ten bude samozřejmě čitelný jen pro roota). V man smbmount se dozvíte víc.

Zdá se, že vmrun podporuje zadání hesla jen z příkazového řádku, takže tam by pomohla jen úprava programu. Ještě vyzkoušejte, zda když jej spustíte bez hesla, zda se na něj nezeptá – pak by bylo možné použít expect, jak tu někdo psal.
polo23 avatar 11.9.2011 11:18 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Kdyz zadam prikaz bez hesla tak se na nej nezepta. Vypise:
Error: Unknown error
Myslim, ze jina moznost jak zadat to primo do CLI u toho programu neni.
pushkin avatar 10.9.2011 17:37 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Souhlasím s výše uvedenými, ještě mě jako trochu jiná možnost napadlo použít sudo - dát danému uživateli oprávnění za pomoci sudo spustit program pod jiným uživatelem. Pak by nebylo heslo vlastně vůbec třeba.
🇺🇦 Pomoc pro obranu Ukrajiny | SOS Ukrajina | Web4Ukrajina | Web4Ukraine 🇺🇦
10.9.2011 19:21 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak program urobí exec() na seba samého, tak proces, ktorý dostal parametere -u user -p heslo prestáva existovať a už ho nebude vidno v zozname procesov. Riziko teda zredukuješ na čas od spustenia procesu po vykonanie volania exec().

Prirodzene pre root-a stále ostávajú nejaké nástroje, ako heslo vysledovať. Ale ak neveríš root-ovi, tak to máš aj tak márne.
10.9.2011 20:25 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co takhle použít něco jako expect nebo empty... http://hodza.net/category/linux/sluzby/ssh/
Jsem mimořádně obtížný případ
polo23 avatar 10.9.2011 21:00 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
No ja nevim, nezda se mi ze by to slo pouzit v mem pripade.
10.9.2011 23:05 Lazar
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Nepomůže umístění hesla do proměnné ve skriptu(700) a proměnnou pak použít místo hesla v příkazu vmrun?

http://nuclear.unh.edu/wiki/index.php?title=Using_VMWare_vmrun
11.9.2011 09:02 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Nepomůže, vizte #11.
10.9.2011 22:56 Kit
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vypadá to, že ve WMware jsou taková jelita, která ani nenapadne, že na hostitelském počítači může být přihlášený i někdo jiný, než jen administrátor. Mnoho jiných aplikací to má vyřešeno odkazem na soubory s omezenými právy. Např. MySQL v souboru ~/.my.cnf, podobně je to i s přístupy k Sambě v /etc/fstab.
11.9.2011 10:04 Matlák
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
MySQL mě vůbec překvapila - na CentOS například když se přihlásím k DB stylem mysql databaze --user uzivatel --password=heslo tak v následujícím výpisu ps aux|grep mysql vidím mysql databaze --user uzivatel --password=xxxxx! Jak je to přesně udělané ovšem netuším...
11.9.2011 11:02 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Asi si při startu parametr přečte a následně ho přepíše. Ale docela mne překvapuje, že to takhle funguje, že se do té části paměti dá zapisovat a že to přepíše skutečně i v jádru. Druhá možnost by byla, že je tu fíčura vašeho ps, které příkaz mysql zná a ví, že parametr password je „citlivý“. Taková funkce by ale podle mne přinesla víc škody než užitku. Zkuste se podívat do /proc/$pid/cmdline, co vidí jádro.
11.9.2011 15:48 Matlák
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
V cmdline je heslo také vymazané. Řekl bych že mysql klient prostě přepíše vlastní commandline, možná přímo zápisem do argv[] asi to zkusím nějakým pokusem napodobit
11.9.2011 16:11 Matlák
Rozbalit Rozbalit vše Re: Jak zadat heslo pri spusteni programu tak aby nebylo videt v procesech
Tak jsem to potvrdil, je zajímavé že název běžícího procesu je tak snadno možné v linuxu změnit

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.