Portál AbcLinuxu, 1. června 2025 08:28


Dotaz: Jak zakázat čtení ale přitom povolit spouštění skriptu

Jakub Lucký avatar 1.12.2008 13:55 Jakub Lucký | skóre: 40 | Praha
Jak zakázat čtení ale přitom povolit spouštění skriptu
Přečteno: 731×
Odpovědět | Admin
Mám bash skript ve kterém je uloženo několik citlivých dat, které by běžný uživatel neměl vidět (příkladem moje heslo na FTP).

Nejprve jsem mu zkusil nastavit zákaz čtení, ale výsledkem bylo Access Denied a jak jsem se později dočetl, je to právě kvůli tomu, že skripty potřebují r-x práva, aby mohli být spouštěny...

Je nějak možné heslo (obsah skriptu) uchovat skryté a přesto mít skript spustitelný pro všechny?
If you understand, things are just as they are; if you do not understand, things are just as they are.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.12.2008 14:15 akomano | skóre: 16 | blog: Došiel čaj v kávomate | Malacky
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nešlo by načítať citlivé dáta z iného súboru so samostatne nastavenými právami, a použiť suid?

Ak sa teda nemýlim, tak suid funguje na vlastníka súboru, teda nemusí to byť nutne root.

Ja vim, on vi, a ty sed, nano!
1.12.2008 17:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
suid vam na skriptech nepobezi.

ad puvodni otazka: smirte se s tim ze kazdej kdo to bude moct spustit tak to heslo uvidi, i kdybyste ho schoval kdovikam. ve vysledku totiz staci pouzit strace a to heslo si precist. zkuste spis rozvest duvody ktere vas k tomuto reseni privadi a muzeme vymyslet neco lepsiho.
In Ada the typical infinite loop would normally be terminated by detonation.
1.12.2008 17:56 Tomas
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu

Normálně bych Vám poradil binfmt_misc modul, který by mohl v tomto případě pomoci. Ale bezpečnostní problém s strace, na který poukázal PHT, je hodně vážný. Před použitím binfmt_misc to bude chtít další zkoumání. Mimochodem s tím strace to funguje i na normální binárky se suid?

1.12.2008 22:08 Michal Marek
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu

 

Mimochodem s tím strace to funguje i na normální binárky se suid?

Ne. Ale myslím, že pro tazatele bude lepší současná situace, než díra v suid binárce ;-).

 

1.12.2008 18:36 miro
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu

Navíc to nebude odolné proti liveCD nebo připojení HDD k jinému stroji. IMHO je to cesta do pekel a chtělo by to otázku bezpečnosti pořešit úplně jinak (uživatelům jejich vlastní účet na ftp a jejich vlastní heslo nebo tak něco). Na takové to domácí žvýkání by šlo udělat jakýsi "wrapper skript", který by čistě jen spouštěl onen skript s citlivými údaji (bez práv ke čtení) a správně poštelovat sudoerrs.

Jakub Lucký avatar 1.12.2008 21:58 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
No, jak vidím, je s tím víc problémů než užitku...

Úvaha byla asi taková: mám skript, který udělá screenshot, uploadne ho na web a do clipboardu uloží odkaz... Chtěl jsem všem uživatelům (protože normálně notebook používám jen já), nabídnout možnosti tohohle skriptu bez nutnosti mít vlastní FTP, ale evidentně to nejde, pokud se neobjeví (jakože asi ne) nějaké schůdné řešení...
If you understand, things are just as they are; if you do not understand, things are just as they are.
1.12.2008 22:13 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
Co ten skript nekam umistit, dat mu prava pro cteni+spousteni jen jednomu uzivateli a ostatni uzivatele ten skript budou spoustet pres sudo s pravama onoho jednoho uzivatele?
Josef Kufner avatar 1.12.2008 22:39 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
...uploadne ho na web. Supr. Tak ten soubor posílej pomocí curl skrzt http post. Na serveru si napiš jednoduchý uploadovací skript (obyč formulář) a tvůj odesílací skript se bude autentikovat saltem přibaleným do hashe odesílaného souboru (nebo informací o něm) -- tím ověříš jak správnost přenosu, tak oprávnění k němu. Ve výsledku nebudeš mít žádné ftp, žádné heslo a pokud ten skript někdo zneužije, tak udělá jen to co mu ten skript beztak povoloval.
Hello world ! Segmentation fault (core dumped)
Jakub Lucký avatar 1.12.2008 23:32 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
jo, to je zajímavý nápad, jen se ten upload-skript.php ošetřit před všema možnýma .php, .phtml a .htaccess souborama apod...

Asi to nakonec udělám přes nějaký config file pro ten můj uploader, ale nápad je to dobrý...

Každopádně děkuji všem za tu zásadní informaci, že principiální řešení "utajení" obsahu skriptu vlastně neexistuje...
If you understand, things are just as they are; if you do not understand, things are just as they are.
Josef Kufner avatar 2.12.2008 00:25 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
Jen taková poznámka... pokud heslo načteš z konfiguráku, tak pořád bude pomocí strace vidět...
Hello world ! Segmentation fault (core dumped)
Jakub Lucký avatar 2.12.2008 08:13 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jak zakázat čtení ale přitom povolit spouštění skriptu
Jo, ale konfigurák bude mít každý svůj (něco jako .netrc)...

A kdo si straceuje vlastní proces, to je jeho věc...
If you understand, things are just as they are; if you do not understand, things are just as they are.

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.