Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2213 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Page Web Création Users

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Page Web Création Users

n°1315962
thany
Posté le 12-07-2012 à 14:21:27  profilanswer
 

Bonjour à tous :),
 
Dans le cadre d'un projet assez général (qui comprend postfix, etc, mais cela n'est pas vraiment important pour ma demande), je dois réaliser une page web sur laquelle via des champs et un bouton je pourrai créer des utilisateurs linux avec leurs passwords.
 
Pour l'instant j'ai deux choses :  
 
- un .sh qui me permet de créer un user avec un mdp
 

Spoiler :


if [ $(id -u) -eq 0 ]; then
        read -p "Entrer le nom de l'utilisateur : " username
        read -s -p "Entrer le mot de passe de l'utilisateur : " password
        egrep "^$username" /etc/passwd >/dev/null
        if [ $? -eq 0 ]; then
                echo "$username existe deja !"
                exit 1
        else
                pass=$(perl -e 'print crypt($ARGV[0], "password" )' $password)
                useradd -m -p $pass $username
                [ $? -eq 0 ] && echo "Le compte est cree !" || echo "Echec !"
        fi
else
        echo "Seul le root peut ajouter un utilisateur"
        exit 2
fi


 
- une page html qui me permet d'avoir des champs dans lesquels entrer le nom de l'utilisateur et son password + un bouton "ajouter l'utilisateur".

Spoiler :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Gestion des utilisateurs</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   </head>
 
 <body>
     
       <div id="corps">
           <h1>Gestion des utilisateurs</h1>
       
   <p>
               Bienvenue  !<br />
               Il sera possible d'ajouter et de supprimer des utilisateurs depuis cette page !<br/>
 
<br/>
  Nom de l'utilisateur
  <input type="text" id="username">
  Mot de passe
  <input type="password" id="password">
  <button id="adduser">Ajouter utilisateur</button>
 
   </p>
        </div>
   </body>
</html>


 
 
Je suis bloquée car je ne sais pas vraiment comment "lier" ces deux éléments. Pouvez-vous m'aider?
 
Merci beaucoup par avance !
 
PS : je suis vraiment débutante dans le code ^^


Message édité par thany le 12-07-2012 à 14:23:06
mood
Publicité
Posté le 12-07-2012 à 14:21:27  profilanswer
 

n°1315965
o'gure
Modérateur
Multi grognon de B_L
Posté le 12-07-2012 à 14:41:36  profilanswer
 

HTML est simplement un langage de présentation interprété par les browsers web. Il te faut créer un formulaire (ça tu l'as fait) et le lier avec un mécanisme situé sur le serveur.
Cela peut être un
 - un script cgi
 - un script php
 - du jsp
 - du perl
Ton formulaire envoie les données au script côté serveur qui en fera ce qu'il voudra (création de user, interaction avec une base de donnée, etc...)
http://en.wikipedia.org/wiki/Server-side_scripting


Message édité par o'gure le 12-07-2012 à 14:41:58
n°1315966
o'gure
Modérateur
Multi grognon de B_L
Posté le 12-07-2012 à 14:43:16  profilanswer
 

Après recréer cela de a à z, c'est lourd, propice à de gros problèmes (bug, faille de sécurité, maintenance, etc...) Il doit exister des solutions clés en mains permettant la création/gestion de users via une interface web.

n°1315972
thany
Posté le 12-07-2012 à 15:10:54  profilanswer
 

Merci beaucoup o'gure.
 
Il s'agit d'un projet purement scolaire, sinon en effet d'autres solutions auraient été préconisées :).
 
Je peux laisser mon code HTML comme cela et y intégrer un PHP pour executer le .sh ?
 
 
Merci

n°1315974
o'gure
Modérateur
Multi grognon de B_L
Posté le 12-07-2012 à 15:15:57  profilanswer
 

Je dirais que dans une première étape, tu devrais t'informer sur comment fonctionne php...
http://www.siteduzero.com/tutoriel [...] aires.html

n°1315996
agentsteel
Posté le 12-07-2012 à 18:22:21  profilanswer
 

En plus pour exécuter des commandes nécessitant des droits root, il faut faire ça proprement :
 
http://blog.khemael.net/2010/08/26 [...] -en-php/2/


---------------
http://agentoss.wordpress.com/
n°1316188
bardiel
Debian powa !
Posté le 15-07-2012 à 22:15:37  profilanswer
 

[:gaga drapal] sur ce sujet fort intéressant.
Une fois avancé, je suis preneur car j'avais justement une demande "équivalente" pour de la gestion de quota en graphique, mais s'il ne s'agit que d'avoir en plus du serveur de fichiers "de base" un bête serveur web (nginx/apache/...) avec du PHP et de quoi consulter/remplir les quotas, ça m'intéresse.
 
Par contre tes utilisateurs, ils sont stockés où ?
Du LDAP ? -> phpldapadmin est plus adapté et déjà opérationnel sans réinventer la roue
Du vrai utilisateur local sur la machine ? -> là il faut voir en plus les droits à donner, notamment si tu ne veux pas qu'ils puissent s'y connecter directement mais qu'ils puissent s'y logguer pour un accès autre (typiquement du serveur de fichiers)


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
n°1316271
thany
Posté le 17-07-2012 à 09:21:48  profilanswer
 

Bonjour à tous et merci pour vos conseils.
 
Voici en j'en suis (malheureusement cela ne fonctionne pas encore...). 3 fichiers :
 
users.html :

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  3.    <head>
  4.        <title>Gestion des utilisateurs</title>
  5.        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.    </head>
  7.  <body>
  8.            <div id="corps">
  9.            <h1>Gestion des utilisateurs</h1>
  10.       <p>
  11.                Bienvenue  !<br />
  12.                Vous pouvez supprimer des utilisateurs depuis cette page !<br/><br/>
  13.  </p>
  14.  <!--Appel le fichier php qui executera le exec-->
  15.  <form method="post" action="fichierphp.php">
  16.   <label for="user">Nom de l'utilisateur</label>  <input type="text" id="username"><br />
  17.   <label for="mdp">Mot de passe</label>   <input type="password" id="password"><br /><br />
  18.   <input type="submit" value="Ajouter utilisateur" />
  19.  </form>
  20.         </div>
  21.    </body>
  22. </html>


 
fichierphp.php :

Code :
  1. <?php
  2. if (($_POST["username"])&&($_POST["password"])) //Verification que les champs soient remplis
  3. {
  4. Exec("sudo /home/scripts/adduser.sh" );
  5. }
  6. ?>


 
adduser.sh :

Code :
  1. if [ $(id -u) -eq 0 ]; then
  2. read -p "Entrer le nom de l'utilisateur : " username
  3. read -s -p "Entrer le mot de passe de l'utilisateur : " password
  4. egrep "^$username" /etc/passwd >/dev/null
  5. if [ $? -eq 0 ]; then
  6.  echo "$username existe deja !"
  7.  exit 1
  8. else
  9.  pass=$(perl -e 'print crypt($ARGV[0], "password" )' $password)
  10.  useradd -m -p $pass $username
  11.  [ $? -eq 0 ] && echo "Le compte est cree !" || echo "Echec !"
  12. fi
  13. else
  14. echo "Seul le root peut ajouter un utilisateur"
  15. exit 2
  16. fi


 
Les manipulations sont ok pour l'exec en root :) !
 
Merci par avance et bonne journée


Message édité par thany le 17-07-2012 à 14:50:30
n°1316287
bardiel
Debian powa !
Posté le 17-07-2012 à 14:43:06  profilanswer
 

Il faut que tu modifies ton script bash adduser.sh par l'ajout d'une utilisation d'arguments.
Regardes ici comment faire.

 

Une fois fait, il te faudrait modifier ton script d'appel fichierphp.php pour insérer les arguments username et password à l'exec de ton script bash (voir ici un exemple)

 

Enfin et pour finir, tu peux faire plus propre en modifiant ton users.html en le transformant directement en PHP, et d'insérer suivant la méthode $_GET l'appel à ton script d'exec.

 

Et si je puis me permettre, à l'avenir utilises soit la méthode fixe (bouton Fixe) ou script (C/C++) plutôt que la mise en spoiler, c'est plus agréable à lire [:eneytihi:4]

 

edit : et puis tant que j'y pense, tu as pensé à faire un truc "plus généraliste" avec usermod, userdel, passwd ?


Message édité par bardiel le 17-07-2012 à 17:17:37

---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Page Web Création Users

 

Sujets relatifs
création d'un nouveau serveur osus ubuntuInterface Web complète d'administration de Squid 3.2x
Dual boot Seven / Ubuntu, ordre création de partitionSamba : Accès guest + accès lecture/écriture pour users
Création de plugins centreon en fonction du besoin[passwd] - affecter directement un passwd à la création d'un user [RES
éteindre un systeme ubuntu par le biais une page web?Creation de template d'un serveur existant
Plus de sujets relatifs à : Page Web Création Users


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR