Gå til innhold

Legge til brukere paa ett linux system fra en PHP side?


Anbefalte innlegg

Videoannonse
Annonse

så du vil ha et php-script som legger til en bruker på din linux-server? såvidt jeg vet går ikke dette med php.

 

hvis du bruker et perl-script til å gjøre det samme så skulle det hele gå mye bedre. Perl kan brukes til å utføre "system-kommandoer" på Linux. (så da bør det ikke være noe problem med å lage et webscript som utfører kommandoer på maskinen din).

 

men husk at hvis du skal legge til noe slikt som dette _bør_ du legge dette i en passordbeskyttet mappe/sted på hjemmesiden din da lette lett kan misbrukes.

Lenke til kommentar

Jeg har faatt fiksa det paa en maate, kanskje ikke den beste maaten men saa lenge det funker og det det er sikkert saa er det greit nok.

 

Ved hjelp av ett lite batch script, php funksjonen system() og unix kommandoen sudo (sudo for aa faa apache til aa faa tilgang til adduser/useradd)

 

Kommer tilbake med mer info naar jeg er ferdig.

 

Jeg skal bruke det til registrering av nye brukere paa mail serveren min.

Lenke til kommentar

okay her er hvordan jeg laget min phpadduser thingy for *nix..

 

Husk at dette er ikke ferdig, jeg sjekker ikke for lugubre tegn i brukernavn og passordet, saa denne metoden kan IKKE brukes direkte uten modifiseringer og diverse sjekker.

 

Det foerste du maa gjoere er gi apache/httpd tilgang til aa legge til brukere og bytte passord paa brukerene.

Altsaa tilgang til aa kjoere kommandoene adduser og passwd.

Dette gjoeres med sudo (Ta en man sudo)

Visst det er noen som er intereresert saa kan jeg forklare sudo her senere.

 

Saa mekke jeg ett lite batch script som legger til brukeren og setter passord paa brukeren..

 


#!/bin/sh



username=$1

password=$2

# create user

sudo /usr/sbin/useradd -s /sbin/nologin $username





# change the password

(

echo $password

sleep 1

echo $password

sleep 1

echo $password

)| sudo passwd $username



 

 

html siden for aa legge brukeren

 



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Adduser</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body>

<form name="form" method="post" action="adduser2.php">

 <p> Username :

   <input name="username" type="text">

 </p>

 <p>Password :

   <input name="password" type="text" >

 </p>

 <p>

   <input type="submit" name=submit value="Submit">

 </p>

</form>

</body>

</html>

 

PHP siden som kaller adduser.sh scriptet og legger til brukeren.

 


<?php





if($_POST['submit'] == "Submit")

{

   $myUsername = $_POST['username'];

   $myPassword = $_POST['password'];



   $myCommand = "/etc/useradd.sh $myUsername $myPassword";



$myError = system($myCommand);



   echo $myError;

}



?>



 

Thats it :)

 

Hva dette kan brukes til ?

Tja, i mitt tilfelle skal det brukes til aa legge til mail brukere paa mail serveren min ..

 

Er dette en sikker maate aa gjoere det paa.?

Tja, med de rette sjekk methodene saa kan det bli en ganske sikker maate aa gjoere ting paa.?

 

Er dette den beste maaten aa gjoere det paa ?

Vet ikke, det finnes garantert en bedre maate aa gjoere det paa.

Lenke til kommentar
Men det å ha apache som en sudo bruker er pr. definisjon ikke helt heldig imo.

 

 

Du gir kun tilgang til useradd og passwd, ingenting annet.

 

Mailserveren min kjoerer kun httpd og mail, ikke ftp, ssh, telnet og andre servicer som kan veare faarligt.

 

BlueEAGLE

 

Vet du om en bedre maate aa gjoere dette paa ?

 

Takker for svar

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...