Inicializační skript

Linux, Unix, BSD systémy, distribuce, open source

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod l1012 14. 4. 2007 07:42

Potřebuji vložit na www stránku odkaz v textovém tvaru "Start,Stop,Restart", aby se po kliknutí na tento odkaz provedl příkaz např.
/etc/init.d/server1 start (stop,restart)
Prostě takové vzdálené ovládání gameserveru jejich uživatel, aniž by museli používat Putty apod.
Jak na to?
l1012
Junior

Odeslat příspěvekod aspire3k 14. 4. 2007 08:08

jede-li tam nejaky webserver, tak v php/perl/python link na skript jen ten prikaz spusti (bacha na prava, webserver bude mit asi jine, nez jsou potreba pro to, co potrebujes)

a nebo si napsat treba perl skrip jenz bude poslouchat na xyz portu a ten link bude odkazovat na nej, tohle je reseni pokud tam nebezi treba apache...
aspire3k
Junior

Odeslat příspěvekod Let_Me_Be 14. 4. 2007 15:45

Ve zkratce, vytvoris si skript, ktery ti zavola /etc/init.d/server1, ownera nastavis na root. Nastavis mu sticky bit (bude se spoustet pod pravy roota).

Ale pozor! Je to hodne nebezpecny zpusob.

No a pak si ze skriptovaciho jazyka, ktery pouzivas zavolas pri kliknuti na tlacitko ten vytvoreny skript.
Let_Me_Be
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Ginnex 14. 4. 2007 16:13

Let_Me_Be: Tak to by mě teda zajímalo, jak budeš něco takového volat (třeba v PHP)
multimediální: Asus P5B Deluxe, Intel Core 2 Duo E6300, 2x2GB PC800, Leadtek 7600GT 256MB DDR3, Vista Ultimate
pracovní: Gigabyte P965-DS3, Intel P D915, 1x1GB PC800, X3100, Vista Business
přehrávač: iRiver T60 2GB
notebook: Dell Latitude D531
Ginnex
Junior

Odeslat příspěvekod aspire3k 14. 4. 2007 19:00

jednoduse, i v php (vzhledem k tomu, ze je to gameserver, tak nebude mit omezeni pro php jako klasicky shared hosting)
aspire3k
Junior

Odeslat příspěvekod _BoB_ 15. 4. 2007 06:27

Radsi Apache nepouštěj pod rootem. Lepší (bezpečnější) je použít buď sudo nebo suid bit.
_BoB_
Junior

Odeslat příspěvekod Let_Me_Be 15. 4. 2007 11:31

Ginnex píše:Let_Me_Be: Tak to by mě teda zajímalo, jak budeš něco takového volat (třeba v PHP)v/quote]


Takhle: http://us2.php.net/exec

Kdyz mas nastaveny sticky bit, tak se program vzdy spusti s pravy majitele, nezavisle na tom kdo ho spustil. Samozrejme pokud mas v programu diru, tak je to docela velky problem.
Let_Me_Be
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod _BoB_ 15. 4. 2007 13:45

Let_Me_Be píše:Kdyz mas nastaveny sticky bit...

suid bit
Sticky bit slouží k něčemu jinýmu...
_BoB_
Junior

Odeslat příspěvekod Zorg 15. 4. 2007 14:22

Lepší je použít sudo.
Zorg
Junior

Odeslat příspěvekod FreeBSD_Radikal 15. 4. 2007 16:57

Let_Me_Be píše:Ve zkratce, vytvoris si skript, ktery ti zavola /etc/init.d/server1, ownera nastavis na root. Nastavis mu sticky bit (bude se spoustet pod pravy roota).

Ale pozor! Je to hodne nebezpecny zpusob.

No a pak si ze skriptovaciho jazyka, ktery pouzivas zavolas pri kliknuti na tlacitko ten vytvoreny skript.

To sis krabet popletl jde o suid a nelze to nastavit z bezpecnostnich duvodu na scripty. Schudnou cestou by mohlo byt napsani srciptu v pythonu a v pouziti utilitky freeze(myslim ze je soucasti pythonu) na prevedeni do klasickyho spustitelnyho programu. Minusem je ze i ten nejmensi script bude mit pres 2mb protoze ten program obsahuje interpreter jazyka a knihovny. Nejlepsim resenim by asi bylo cecko

ps: ted me tak napadlo ze sem slysel o jakymsi suidperlu. ale vic o tom nevim - v perlu nedelam
BSD is for people who love Unix, Linux is for people who hate Windows.
notebook: Archlinux -current říznutej LFS ;-)
desktop: umrel
router: FreeBSD RELENG_6_2
FreeBSD_Radikal
Junior
Uživatelský avatar

Odeslat příspěvekod Let_Me_Be 15. 4. 2007 21:42

Jo, sorry, suid/sgid bit, moje chyba...

Tyjo, fakt to nejde... ja mel pocit, ze jsem to pouzival. Budu muset prohrabat stare skripty...
Let_Me_Be
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod nbusr123 16. 4. 2007 21:02

suid bit je vychytralost ;-)
nbusr123
Junior

Odeslat příspěvekod l1012 16. 4. 2007 21:36

Toto zatím vzdávám. Je to mimo moje chápání. :-/ :)
Díky za snahu.
l1012
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků