spustiť skript ako bežny user
Pre pridávanie komentárov sa musíte prihlásiť.
-
-
Re: spustiť skript ako bežny user 24.11.2006 | 18:42WlaSaTy Návštevníkmoznosti su dve.: 1) dat uzivatelovi prava na zmenu sietovych nastaveni 2) nastavit suid flag na roota pre dany skript a jedna bonusova moznost, neviem ci bude vyhovovat (koli vikendovemu internetu a internetu vecer, v noci): startovat to rovno pri boote systemu.
-
Re: Re: spustiť skript ako bežny user 24.11.2006 | 18:53marian NávštevníkVďaka,pekna odpoved,len keby si mi nedaval tie možnosti a poprostu polopatisticky ma nasmeroval k tomu ako dam uzivatelovi prava na zmenu sietovych nastaveni.
-
Re: Re: Re: spustiť skript ako bežny user 24.11.2006 | 20:36WlaSaTy Návštevníkalebo pouzi sudo. konfigurak je v /etc/sudoers, bacha aby si nedal priliz velke privilehia kazdemu, niekedy to moze vadit.
-
-
Re: Re: spustiĹĽ skript ako beĹžny user 24.11.2006 | 20:26stando Návštevníksuid bit pre skript nejde nastavit. Musi sa to riesit cez skompilovany program.
-
Re: Re: spustiĹĽ skript ako beĹžny user 24.11.2006 | 20:43stando NávštevníkAko som napisal musis to riesit cez skompilovany program. Suid bit pre skript sa neda nastavit, lebo v skutocnosti sa spusta program bash(v tomto pripade) a ten ako vstup pouzije tvoj skript. Riesit to cez noveho user-a je trochu neprakticke(to je ako ist s kradivom na komara) Najdednoduchsie to mas takto(teda, nic lepsie nepoznam :) ): vytvor si subor "stdsl_on.c" #include #include #include int main() { setuid(0); system("/usr/bin/stdsl.sh start"); return 0; } To v system() sa bude spustat, mala by tam byt cesta k tvojmu stdsl.sh (plus start) Potom to skompiluj: gcc -o stdsl_on stdsl_on.c Vytvori ti program stdsl_on. Tento program nespravy nic, len spusti to co je v system(). teraz sa prihlas na root-a a zmen vlastnika na root: su chown root:root stdsl_on a uz len pridat suid bit - zaruci, ze sa subor bude spustat pod efektivnymi pravami vlasnika - to je root (mozes si to pozret cez ls) chmod u+s stdsl_on Teraz to moze spustit ktokolvek a bude sa to tvarit akoze to spustil root. PS: S tym iternetom cez vikend som to nepochopil. Ale ak chces docielit nejake casovaine pozri si "cron". Dufam, ze je to jasne. :) Prajem hodne zdaru.
-
Re: Re: Re: spustiĚĽ skript ako beĚŞny user 24.11.2006 | 20:48stando Návštevníksakra, < a > pochopilo ako metaznak pre html tak to nevidiet ... ma tam byt: #include <sys/types.h> #include <unistd.h> #include <stdlib.h> :)
-
Re: Re: Re: Re: spustiĂĹĄĂË? skript ako beĂĹĄÄš 24.11.2006 | 20:55stando Návštevníka teraz sa hambim do tretice, ze som si nespomenul na sudo. :) toto je tvoje riesenie: http://www.courtesan.com/pipermail/sudo-users/2002-August/001174.html
-
-
-
-
Re: spustiť skript ako bežny user 24.11.2006 | 19:57Juraj NávštevníkJa by som isiel na to asi touto cestou: 1. Vytvoril by som uzivatela a skupinu Internet. 2. Skriptu by som pridelil prava uzivatela a skupiny Internet 3. Vsetkych uzivatelov, ktori sa maju pripojit, by som zahrnul do skupiny Internet ;)
-
Re: Re: spustiť skript ako bežny user 24.11.2006 | 20:03Juraj NávštevníkAk by to neslapalo, tak tomu skriptu pridaj usera root a skupinu Internet....
-
Re: Re: Re: spustiť skript ako bežny user 24.11.2006 | 20:27marian NávštevníkV tych pravach to asi nebude,tam som skušal už asi všetko(vo vlastnostiach skriptu su opravnenia povolene všetkym),no aj napriek tomu mi to pri spustení vyhadzuje:bash: stdsl.sh: command not found
-
Re: Re: Re: Re: spustiť skript ako bežny user 24.11.2006 | 20:34Juraj NávštevníkMas ten skript v /usr/bin resp. /usr/local/bin ?
-
Re: Re: Re: Re: Re: spustiť skript ako bežny user 24.11.2006 | 20:36marian NávštevníkTen skript je v /usr/sbin
-
Re: Re: Re: Re: Re: Re: spustiť skript ako bežny u 24.11.2006 | 20:42Juraj Návštevníkhmm, ak nie je problem v ceste, tak to asi nepomoze, ale skus ho premiestnit do /usr/bin ... Ta hlaska,, ze neexistuje, mi nejako nesedi....
-
Re: Re: Re: Re: Re: Re: Re: spustiť skript ako bež 24.11.2006 | 20:54marian Návštevníkjuraj to premiestnenie do /usr/bin nepomohlo(už to nejde spustiť ani ako root),ale aj tak ď,teraz skusim ten standov postup(aj ked neviem ci to zvladnem)
-
Re: Re: Re: Re: Re: Re: Re: Re: spustiť skript ako 24.11.2006 | 21:15marian Návštevníkchalani teraz som už uplne v riti,čakal som 1(slovom jedno) jednoduche riešenie a vy mi ich ponukate asi 4,a zatial čo tie jednoduchšie akosi nezaberajú,tak na tie (akože) zložitejšie akosi nestačím,nenašlo by sa ešte niečo čo by zabralo a zaroven čo by som zvladol aj ja
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: spustiť skript 24.11.2006 | 21:23WlaSaTy Návštevníkskus si dat do /etc/sudoers riadok: %users localhost=/usr/local/bin/stdsl.sh a ten skript daj do /usr/local/bin/stdsl.sh, samozrejmostou je aj aby mal execute flag. potom ho spustis jednoducho: sudo /usr/local/bin/stdsl.sh na vyzvu odpovies vlastnym heslom.
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: spustiť sk 24.11.2006 | 21:38marian Návštevníkešte mi povedz čo je to execute flag
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: spusti 24.11.2006 | 21:52Juraj NávštevníkEste uved distro, aby sme vylucili, co ktore prepisuje ; Ak je to Mandriva alebo SUSE, s tym ti neporadim...
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: sp 24.11.2006 | 21:57marian Návštevníkmam mandrivu 2006.chcel by som dosiahnuť to,aby som sa tak ako pod rotom mohol pripojiť a odpojiť na jedno kliknutie na vytvoreny odkaz.
-
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: spusti 24.11.2006 | 21:58WmaSaTy Návštevníkchmod +rx /usr/local/bin/stdsl.sh man chmod niekedy si myslim ze zive odchovava ludi ktory potom nemaju preco citat manualy. je to tak?
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: sp 24.11.2006 | 22:22marian Návštevníkjuj chlapi,ja zas na to zive moc nechodim a fakt je ,že manualy velmi necitam,ale tie prava by tam praveže mali byť ok:[marian@localhost bin]$ ls -l stdsl.sh -rwxrwxrwx 1 marian users 370 čec 22 22:19 stdsl.sh*.tak naozaj neviem čo s tym.skušal som tu standovu kompilaciu,ale zatial mi to vyhadzuje len nejake chyby.
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 24.11.2006 | 23:18marian Návštevníkstandova kompilacia to nevyriešila,vytvoreny spustitelny subor stdsl_on sa sprava rovnako ako stdsl.sh start.
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 24.11.2006 | 23:33marian Návštevník[marian@localhost ~]$ ./stdsl_on /usr/local/bin/stdsl.sh: line 6: modprobe: command not found /usr/local/bin/stdsl.sh: line 7: modprobe: command not found /usr/local/bin/stdsl.sh: line 8: modprobe: command not found /usr/local/bin/stdsl.sh: line 9: br2684ctl: command not found /usr/local/bin/stdsl.sh: line 10: ifconfig: command not found /usr/local/bin/stdsl.sh: line 11: adsl-start: command not found To iste vyhadzuje aj pri "stdsl.sh start".
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 24.11.2006 | 23:59stando Návštevníkuff..."command not found". to znamena, ze nenaslo ten prikaz. Problem je v tom, ktore adresare sa prehliadaju. Skus sa prihlasit na root-a a napis "echo $PATH" potom sa prihlas na "seba" a napis to iste. Uvidis presny rozdiel. Aby ti to islo musis editovat stdsl.sh. Najskor si ho odzalohuj. Potom ku vsetkym prikazom dopis plnu cestu. Tu zistis ked napisis napriklad "which modprobe". To stdsl.sh je obycajny zoznam prikazov. Takze zmenis naprikaz "modprobe" za "/sbin/modprobe", alebo co ti vypise "which modprobe". Cestu dopl ku vsetkym prikazom, nie len k modprobe, ale aj br2684ctl, ifconfig, adsl-start.
-
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 24.11.2006 | 23:49WlaSaTy Návštevníkak si nakonfiguroval sudoers a uvedeny prikaz spustal cez sudo, tak ti to vypisalo chybu. skus ju odfotit mobilom, vytlacit, odfaxovat. alebo pouzi copy and paste.
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 25.11.2006 | 00:04Juraj NávštevníkTo je poj***** Mandriva, ziadne sudo mu nepomoze. Skor by som odporucil forum Mandrivy, ale neviem, kde sa momentalne nachadza....
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 25.11.2006 | 13:02marian NávštevníkDobry den,vdaka za ochotu vyriešit moj problem,k tomu sudo-tento prikaz je pre mna uplna neznama(musim si to pozriet)-po nakonfigurovani /etc/sudoers-posledny riadok-#%users localhost=/usr/local/bin/stdsl.sh je takato odozva(aj u roota,aj u uživatela):[root@localhost ~]# sudo /usr/local/bin/stdsl.sh >>> sudoers file: syntax error, line 29
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 25.11.2006 | 13:14marian Návštevníkeste raz ta odozva na sudo:[root@localhost ~]# sudo /usr/local/bin/stdsl.sh >>> sudoers file: syntax error, line 29
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 25.11.2006 | 13:18marian Návštevníktak do tretice:[root@localhost ~]# sudo /usr/local/bin/stdsl.sh >>> sudoers file: syntax error, line 29
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 25.11.2006 | 13:23marian Návštevníktak teraz som sa ozaj nasral.[root@localhost ~]# sudo /usr/local/bin/stdsl.sh >>> sudoers file: syntax error, line 29 sudo: parse error in /etc/sudoers near line 29 Přerušena roura (SIGPIPE)
-
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 25.11.2006 | 13:30ethyl Návštevníkzda sa mi, ze si sudoers needitoval cez visudo (lebo ti to asi nikto nepovedal). visudo ti skontroluje syntax a neumozni ti ulozit zmrveny sudoers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-