Portál AbcLinuxu, 26. dubna 2024 18:09


Dotaz: SETUID pri skript iptables

17.3.2010 20:55 lukas
SETUID pri skript iptables
Přečteno: 280×
Odpovědět | Admin
Dobry vecer, skusam si spustit moj firewall, kde mam pravidla v skripte a spustam to takto: bash skript.sh start. Nastavil som na tento skript SETUID bit, ale pri spusteni mi vypise, ze to musi spustit root (konkretne to pise itpables). Chcem sa spytat ci robim zle? Ak nastavim SETUID tak by sa mal skript spustit pod pravami vlastnika (root) nie? Spustam to ako obycajny uzivatel. Dakujem za odpoved.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 17.3.2010 23:25 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: SETUID pri skript iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na skript se setuidbit nevztahuje. Pouze na binární soubor. Je to z toho důvodu, že ty ten soubor nespouštíš, ale spouštíš interpreta, který provede ty akce v tom skriptu. V případě bashe je interpret "/bin/sh" / "/bin/bash", ale v žádném případě mu nenastavuj setuidbit, to by jsi si udělal pěknou díru do systému.
Nechápu, proč se vůbec o něco takového snažíš pod obyčejným uživatelem? Firewall jednou nastavíš a jede. Vytvoř si spouštěcí skript pro tvou distribuci (pokud už pro iptables neexistuje, jako že ve většině distribucí je to pořešeno) a je to. Tyto věci bych řešil systémově a né obezličkama ...
Zdar Max
Měl jsem sen ... :(
18.3.2010 20:12 lukas
Rozbalit Rozbalit vše Re: SETUID pri skript iptables
Ahoj Max. Dakujem za objastnenie toto som ani netusil. Ide o to, ze sa cisto iba ucim cize dieru v systeme by som mal iba u seba v izbe :). Ale dobre vediet, ze je to blbost a, ze to vlastne ani nejde. Obycajnemu uzivatelovi som definoval prava a robim to cez sudo je to rozumnejsie. Dakujem vsetkym!
pavlix avatar 18.3.2010 02:05 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: SETUID pri skript iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
SETUID je pouze pro binární spustitelné soubory. Na všecko ostatní se musí použít nějaká SETUID binárka, například sudo (univerzální nástroj pro tento účel).

Konkrétně "bash skript.sh start" očividně volá binárku *bash*, která rozhodně SETUID neni. Soubor skript.sh je pouhým parametrem.

Zbytek viz předchozí vlákno (použít/vyrobit initscript).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
18.3.2010 12:31 pepazdepa
Rozbalit Rozbalit vše Re: SETUID pri skript iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
skripty nejdou udelat suid, sgid... pouzij ve svym skriptu sudo a definuj te akci privilegia v sudoers.

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.