Home Linux Ny linuxbruker med PHP og Apache
Ny linuxbruker med PHP og Apache PDF Skriv ut E-post
Linuxrelatert
Skrevet av Jens Christoffersen   
torsdag 17. september 2009 07:57

Hvis du ønsker å legge til en bruker på Linuxsystemet ditt ved hjelp av PHP og Apache, er dette en av fremgangsmåtene.

 

Jeg har:

  • Ubuntu 8.10 - server
  • PHP
  • Apache

 

 

Kommandoen vi ønsker utført er:

 

useradd $1 -m -c "$2" -s /bin/sh -p $3

 

useradd - Programmet som legger til en bruker. Dette programmet kan ta imot forskjellige parametre.

$1 - Parameter for brukernavnet.

-m - Parameter som forteller useradd at det skal lage en hjemmekatalog tilknyttet brukeren

-c - Parameter for kommentar. Dette er en helt vanlig tekststreng, og inneholder som regel brukerens fulle navn.

"$2" - Parameter for brukernavnet. Viktig at det står i anførselstegn.

-s - Parameter som angir hvilket shell brukeren skal ha. Hvis denne uteblir, velger systemet shell selv.

/bin/sh - Parameter som sier at det skal være /bin/sh shell som skal brukes.

-p - Parameter som forteller at nå kommer passordet.

"$3" - Parameter for passord.

 

 

Bash - fil:

Vi trenger en liten fil som skal gjøre denne oppgaven. Vi kaller den nybruker, og den inneholder bare en linje:

useradd $1 -m -c "$2" -s /bin/sh -p $3

 

Visudo

Vi skal nå fortelle systemet at Apache skal få utføre sudo-kommandoer. Vær svært forsiktig med dette, siden apache er en webserver, og er den koblet til Internett, kan stort sett alle få tilgang. (Joda, det er mulig å begrense, men vi tar ikke hensyn til dette akkurat nå.)

 

Rediger filen sudoers. Det gjøres tryggest med kommandoen sudo visudo. Jeg la til linjen:

www-data ALL=NOPASSWD:/usr/sbin/useradd, /bin/mkdir, /bin/sh

 

www-data er "apache-brukeren". Det brukernavnet brukeren får når han besøker sidene. Det neste på linjen forteller systemet programmene www-data skal få lov til å kjøre.

 

PHP-filen

Neste, og siste skritt, er å lage en fil som inneholder et lite PHP script. Filen heter index.php

 

 

 

 

Ny bruker

 

 

 

 

 

 

Login navn:

Fullt navn:

Passord:

 

 

 

 

 

if (isset($_POST['login'])){ //sjekker om login har fått en verdi

$login = $_POST['login']; // hvis login har fått verdi, blir $login tildelt denne verdien

$fulltnavn = $_POST['fulltnavn']; // hvis fulltnavn har fått verdi, blir denne gitt til $fulltnavn

$passwd = $_POST['pwd']; // hvis pwd har fått en verdi, blir denne tildelt $passwd

$passwd_crypt=crypt($_POST'pwd']); // denne linjen crypterer $passwd og gir verdien til $passwd_crypt

 

$test = '/home/'-$login; // gir variable $test verdien '/home/login'

 

if (is_dir($test)) {  // tester om brukernavnet er en katalog i mappen /home, hvis den er det kommer det en melding og scriptet slutter å kjøre.

echo "Bruker finnes fra før. Velg et annet brukernavn.";

exit();

} else {

$res=`bash /var/www/nybruker $login "$fulltnavn" '$passwd_crypt'`; // Dette er linjen som legger til den nye brukeren.

echo "Ny bruker er lagt til.";

}

?>

 

 

Dette er den, etter min mening, enkleste måten å legge til en bruker via intranett/internett. MEN: Jeg har ikke tatt hensyn til sikkerhet eller andre ting. Vær klar over det, og en annen ting: Jeg fraskriver meg alt ansvar hvis dette på noen måte kludrer til maskinen din.

 

Lykke til!

Comments (0)
Write comment
Your Contact Details:
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
Sist oppdatert onsdag 10. mars 2010 20:25
 
Kopirett © 2010 nerdegutta.org. Alle rettigheter reservert.
Joomla! er fri programvare utgitt under GNU/GPL License.