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 15:00 | Zajímavý software

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

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

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 6
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 35
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 28
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 19
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (71%)
 (4%)
 (10%)
Celkem 682 hlasů
 Komentářů: 65, poslední dnes 16:18
Rozcestník

Dotaz: Ako zakazat spustenie specifickych prikazov (aj pod rootom)

21.11.2010 01:48 ag3nTt
Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Přečteno: 481×
Zdravim.

Na zaciatok uvediem, preco ma odpoved na tento zdanlivo blby dotaz zaujima. Uz 2x sa mi stalo, ze som v rychlosti omylom pod rootom spustil v / prasarnu "chmod 777 * -R" (nez som to stihol zastavit, stihlo to "potunit" obsah /etc/), pripadne iny specificky command, ktory moze sposobit nejaku neprijemnost (napr. legendardny rm -rf /). Ja viem, som idiot, ale nepiste mi prosim, ze mam byt opatrnejsi, chcem nejake spolahlivejsie riesenie, ktore osetri aj zlyhanie ludskeho faktoru :)

Viete o niecom, co by zabranilo exekucii nejakych, admin-defined prikazov? Prip. ze by sa to u nejakych specifickych prikazov v interactive mode spytalo nieco v zmysle "Are you sure?" .. alebo este lepsie, ak by sa dalo definovat, ze ak by niekto spustil akymkolvek sposobom (cez shell, alebo z akehokolvek programu) napr. "chmod 777 * -R", vyhodit na stderr hlasku: Forbidden, don't be lazy and use "chmod 777 /your/folder/ -R". Bohate by mi stacilo moznost definovat zakazane commandy striktne, luxus by bola moznost definovat masku regexom (na rychlo napr. ^chmod [0-9]+.+\-R.*$)

Teoreticky by nieco mohlo existovat, kedze na podobnej vrstve operuje aj sudo. Je to ale somarinka, hladam nieco jednoducho pouzitelne, ziadne patche kernelu apod.

Vopred dakujem za kazdu radu, postreh, napad, cokolvek.

PS: pouzivam Gentoo.

J.

Řešení dotazu:


Odpovědi

21.11.2010 02:04 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)

Asi by šlo opatchovat shell, ale nějak si nedokážu představit, jak byste takový seznam "nebezpečných" příkazů vlastně chtěl sestavovat. Problém by se měl řešit tam, kde vzniká: ve vaší hlavě. Jinak totiž docílíte jen toho, že budete dělat totéž co dosud, jenom při tom navíc budete obcházet svůj blacklist.

Mimochodem, nezvykejte si psát přepínače až po argumentech. Je to dost ošklivý GNU-ismus a pokud si na to navyknete, budete mít problémy, až si sednete k nějakému systému s korektně se chovající implementací getopt().

21.11.2010 05:37 ag3nTt
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Vdaka za odpoved. Popravde, prepinace a celkovo options pouzivam vsade na zaciatku, ale u chmodu a chownu je to isty nezvyk, ani sam neviem preco, musim sa to odnaucit. Co sa tyka riesenia problemu tam kde vznika, na to som prave komentare nepotreboval. Nedavno som musel pracovat na dialku s nejakym debianom a z nejakeho dovodu, nech bol terminal (SecureCRT, alebo Putty) nastaveny akokolvek, stale sa konzola rendrovala sialene, texty boli rozhodene, necleanovalo sa to, atd.. takze som miestami ani nevidel co spustam. Nie vzdy je druha strana (napr. admin vzdialeneho systemu) ochotna adekvatne pomoct, musime improvizovat :-/
blami avatar 21.11.2010 03:04 blami | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Nejsem zrovna priznivcem ani znalcem reseni jako je SELinux ci AppArmor, ale domnivam se, ze to jsou nastroje ktere hledate a tudiz klicova slova, ktera bych zkusil Googlit. Tusim ze i tady na ABCLinuxu vysel pekny clanek o SELinuxu.
21.11.2010 04:36 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
AppArmor určitě neřeší parametry příkazů a AFAIK ani SELinux. Navíc je potřeba si uvědomit, že tazatel chce rozlišovat parametry v podobě, v jaké je napíše, tj. ještě před expanzí shellem.
21.11.2010 10:10 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Zabránit spouštění programů můžete tak, že jim odeberete právo --x. Ale zrovna bez chmod se to bude blbě vracet, až ten příkaz budete chtít opravdu použít. Navíc pak budete naštvaný, že jste ten příkaz musel složitě zprovozňovat, a tomu, co děláte, budete věnovat ještě menší pozornost.

Dotaz by se dal řešit pomocí nějakého wrapperu, který byste spouštěl místo původního programu přes alias shellu. Některé programy už mají takovou možnost dotazu v sobě, a některé distribuce takové aliasy standardně nastavují, takže pak máte třeba alias rm=rm -i. Ale tím si jen přidáte další zbytečný dotaz, jak ve Windows, a když bezmyšlenkovitě příkaz odeentrujete, stejně bezmyšlenkovitě pak odpovíte na „Are you sure?“… Podle mne jediné řešení je změnit své chování a pod rootem nepracovat zbrkle.
21.11.2010 13:58 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Dotaz by se dal řešit pomocí nějakého wrapperu, který byste spouštěl místo původního programu přes alias shellu.

Jak takový wrapper pozná, že byl příkaz zapsán jako 'chmod ... *', když od shellu nedostane hvězdičku, ale expandovaný seznam jmen? Asi jsem tu první odpověď měl rozepsat podrobněji, aby další zbytečně neopakovali slepé uličky, které jsem už vyloučil.

21.11.2010 16:04 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Parametry by ten wrapper neřešil. Bylo by to nejjednodušší požadované řešení, tj. u daného příkazu by se pokaždé zeptal, bez ohledu na parametry. Nemá ale smysl bádat nad tím, jak by se to teoreticky mohlo řešit a zda jde vyhovět základnímu požadavku, nebo i těm rozšířeným – řešení je jediné, pokud pracuje dotyčný pod rootem, nemá se chovat zbrkle. A to už tu myslím bylo napsáno několikrát.
Řešení 1× (ag3nTt (tazatel))
21.11.2010 10:47 Miklik | skóre: 27 | Krnov
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Řešením by mohlo být, napsat si wraper skripty pro nebezpečné příkazy.

Přidejte si do $PATH na začátek cestu, něco jako /usr/local/wrapers. Tu složku vytvořte a do ní dáte skripty pojmenované stejně jako vaše nebezpečné příkazy, například rm, chmod a podobně. V těch skriptech si pak na začátku ošetříte nebezpečné parametry a pokud příkaz projde tak se spustí ze skriptu, pokud ne, tak třebas vypíše hlášku. Příkaz ve skriptu bude třeba zadat s úplnou cestou. Je třeba taky skriptum nastavit patřičné práva, aby si do nich nějaký jouda něco nedopsal.
Netvrdím to, ale možná je to pravda.
21.11.2010 18:19 ag3nTt
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Anooo, toto je presne to, co som potreboval .. dakujem za nakopnutie, tuto maxi simple variantu som si neuvedomil.
stativ avatar 21.11.2010 18:51 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
A nezapomeň spouštět bash v restricted režimu, aby si kdejaký trouba nezměnil path nebo nevolal binárky přímo
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
stativ avatar 21.11.2010 19:24 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Aha, teď jsem si dotaz přečetl. Ber to jako bych nic nenapsal, myslel jsem, že to potřebuješ jiným uživatelům zabránit ve spouštění některých apps.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Řešení 1× (ag3nTt (tazatel))
21.11.2010 11:56 NN
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Jako uplne easy reseni vidim napsat si pro dane prikazy vhodne aliasy tipu:
alias rm'=rm -i'
alias chmod='echo are you sure ?; read && chmod'
Pripadne neco tvrdsiho jako grsec..

NN
21.11.2010 18:20 ag3nTt
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Aaa .. druha mozna varianta, dakujem za napad!
22.11.2010 00:34 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
1.) "f" v "rm -rf *" prebije aliasove "i", takze to nic neriesi.

2.) Clovek si zvykne aj na sibenicu, takze jeden automaticky enter navyse uz zvladne.

3.) moze skusit "rm -I"
If you hold a Unix shell up to your ear, you can you hear the C.
21.11.2010 16:16 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Řešíš neřešitelné. Selhání lidskhého faktoru odstraníš jedině tak, že odstraníš samotný lidský faktor.
Překladač ti nikdy neřekne: "budeme kamarádi"
21.11.2010 18:23 ag3nTt
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Clovece, nehnevaj sa, ale tieto komentare fakt nepotrebujem. Na rozdiel od tvojho prazdneho prispevku Miklik a NN vedeli situaciu vyriesit a pomoct mi.
21.11.2010 19:05 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Přesně naopak. Miklik a NN jednak vůbec neodpovídali na váš dotaz, jednak pominuli podstatu problému. Odpověď moiry je mnohem víc k věci.
21.11.2010 19:46 ag3nTt
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Prepac, ale ja som ten, kto ten problem ma, takze viem najlepsie, kto podstatu mojho problemu pochopil a spravne to zodpovedal.

Ma to byt proste "istenie". Profi horolezec sa tiez radsej pre kazdy pripad isti druhym lanom a nespolieha len na slova "ale bud velmi opatrny", nie vzdy totiz lezie v idealnych podmienkach.

Vec povazujem za vyriesenu. Polozil som konkretny dotaz a niekto odpovedal presne ako som potreboval (im velmi pekne dakujem), niekto odpovedal zcestne a bez pridanej hodnoty, ti nech su v mieri :-)
21.11.2010 20:28 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Prepac, ale ja som ten, kto ten problem ma, takze viem najlepsie, kto podstatu mojho problemu pochopil a spravne to zodpovedal.

V tom případě máte dotaz formulovat tak, aby se to z něj dalo pochopit. V dotazu jednoznačně píšete, že vám nejde o příkaz (např.) chmod jako takový, ale jen o případy, kdy je tento příkaz spuštěn s "nebezpečnými" parametry. Navíc jako konkrétní příklad takových parametrů uvedete wildcards, které ve skutečnosti expanduje shell a k příkazu se vůbec nedostanou. Z toho jednoznačně vyplývá, že problém, jak jste ho popsal, nemůže řešit nejen žádný systém typu SELinux/AppArmor, ale ani žádný wrapper místo příkazu, protože ten wrapper se nemůže rozhodovat na základě informace, která se k němu vůbec nedostane. Takže pokud teď skáčete radostí nad "řešením" založeným na wrapperu, znamená to, že buď jste do dotazu popsal úplně jiný problém, než který jste chtěl řešit, nebo jste si dodatečně zadání změnil na základě odpovědí, které se vám líbily svou jednoduchostí.

Navíc vůbec není pravda, že tazatel automaticky chápe podstatu problému nejlépe. Naopak, velmi často by se, pokud by tomu tak bylo, vůbec nepotřeboval ptát. Tato diskuze je toho názorným příkladem.

22.11.2010 00:30 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Rada ako od 'Smith & Wesson' :-)
If you hold a Unix shell up to your ear, you can you hear the C.
pepe_ avatar 21.11.2010 18:41 pepe_ | skóre: 47
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Podle mně (čistě teoreticky) bych vytvořil script pro každý nebezpečný příkaz a ten originální příkaz přejmenoval například chmod chmod.orig a do toho chmodu bych dal zjištění (pokud neni puštěn pod rootem , spustí chmod.orig s parametrama se kterýma byl spuštěnej chmod) Pokud ale byl spuštěnej pod rootem tak detekce souboru a složky , a pokud soubor nebo složka neni nebezpečná , chovat se stejně jako když neni puštěnej pod rootem. Pokud se ale jedná o nebezpečnou operaci nebo složku , nejdříve vyhodit hlášení s varováním že se jedná o nebezpečnou akci a požadavkem na potvrzení akce.

PS: nečetl sem celou diskuzi ale doufam že nenavrhuju již navržený ochranný faktor.

Max avatar 22.11.2010 11:39 Max | skóre: 64 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
Hloupost. Takové nesystémové bastlení vede jen k problémům. Jak by jsi řešil např. aktualizace (nové verze chmod apod.)? Hlídal si je a pokaždé přepisoval? Neaktualizoval?
Zdar Max
Měl jsem sen ... :(

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.