Avatar billede kornfreak Nybegynder
10. maj 2001 - 20:59 Der er 15 kommentarer og
2 løsninger

Script som root!

Hvordan får jeg et script til at køre som root?..jeg vil gerne kunne reboote min linux via en website, og jeg går ud fra man kan med exec(\"reboot\"); hvis det kører som root?...eller skal der noget perl til ?
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 21:23 #1
Du skal lave en suid på scriptet, men pas på, vær forsigtig. Du kører linux/unix, ikke?
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 21:26 #2
Så vidt jeg lige kan grave frem, skal du sørge for at scriptet er ejet af
root, så skal du (også som root) sige

  chmod 4755 reboot.pl

eller hvad den nu hedder... Prøv lige, og meld venligst tilbage :)
Avatar billede kornfreak Nybegynder
10. maj 2001 - 21:34 #3
SKAL det være root?..er det ik nok med en bruger der har root adgang ?..

og skal det være perl eller php ?
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 21:37 #4
Det er vel nok med en bruger der har root adgang. Jeg ved ikke om det
virker i PHP, men kan da huske fra en skummel fortid som Unix-programmør,
at Perl-scripts kan laves suid som root (eller en anden bruger).
Avatar billede kornfreak Nybegynder
10. maj 2001 - 21:38 #5
Okay..så skal jeg lige ha gravet den samme kommando frem i perl :)
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 21:40 #6
Eller skriv et lille C-program. Det kan muligvis afhænge af om Perl er
installeret til overhovedet at tillade suid.
Avatar billede kornfreak Nybegynder
10. maj 2001 - 21:41 #7
Hm..det er min egen server, det ved jeg faktisk ik. jeg snakker lige med ham der har sat det op og melder tilbage, kunne være fedt hvis det virkede :)
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 21:43 #8
Nemlig - hvis ellers vores telefonledninger ikke er for lange, får jeg også
ADSL om en måneds tid. Og så skal da også lege med en linux-server eller
3 :)  Så jeg er nysgerrig!
Avatar billede kornfreak Nybegynder
10. maj 2001 - 21:48 #9
Kanon...det er så mange sjove muligheder med linux :)
Avatar billede annika Nybegynder
11. maj 2001 - 10:28 #10
I linux kan du kun sætte suid på binære filer, ikke tekst filer. Der er så vidt jeg ved tre mulighedder:

1. setuid på php binary og læg den i cgi-bin/php-root.cgi (skal ende på .cgi). Kompiler php som cgi script. Smid følgende linjer ind i .htaccess:

Action application/x-suid-php /cgi-bin/php-root.cgi
AddHandler application/x-suid-php .php

chmod 7555 cgi-bin/php-root.cgi


2. CGIWrap -- kræver PHP som cgi-script. Installer cgi-wrap, sæt ownerhip/group til root, sæt action i .htaccess


3. suExec (Apache modul). Jeg har ikke prøvet det.

Pas må, det er farligt at køre php scripts som root.
Avatar billede erikjacobsen Ekspert
11. maj 2001 - 10:48 #11
Ok, annika, der kan sagtens være forskel på Linux, og det jeg
arbejdede med i gamle dage.

En bedre idé end suid-scripts og -programmer kunne være at have et
cron-job til at køre hver 15 minut (eller hvad man vil), som root, og
som checker mod nogle værdier i en database eller fil. Deri kan man
så skrive at man vil have genstartet. Så er tingene li\'som adskilt.
Avatar billede annika Nybegynder
11. maj 2001 - 11:31 #12
erikj: Jeg har netop testet med FreeBSD 4.3. Her gælder det samme som for root: Kun binære filer kan køres suid.

Jeg kan slet ikke se hvorfor man vil kunne genstarte sin linux boks. Når den er oppe og køre, så kører den bare.

Avatar billede annika Nybegynder
11. maj 2001 - 11:32 #13
rettelse: gælder det samme som for Linux
Avatar billede kornfreak Nybegynder
11. maj 2001 - 13:24 #14
annika >> Det var nu mere princippet i det..og med en restart, så ved man da at det funker :)
Avatar billede annika Nybegynder
11. maj 2001 - 23:15 #15
Korrekt. Jeg kører selv php under mit eget brugernavn, frem for nobody. Men jeg vil virkelig fraråde at køre som root. Du har imidlertid fået 3 løsningsmulighedder, så det er bare at komme igang.
Avatar billede erikjacobsen Ekspert
04. marts 2002 - 06:12 #16
Dejligt du er så hurtig, kornfreak.
Avatar billede kornfreak Nybegynder
04. marts 2002 - 07:14 #17
Sorry..jeg havde glemt alt om det her spg. Sad lige og rodede dem alle igennem.

Mærkeligt jeg aldrig har fået en "husker".
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester