Créer un utilisateur via une page Web

Salut tout le monde,

Un truc tout con, mais qui va m’être très utile.

Je souhaite créer un utilisateur via une page Web (html, php… ce que vous voulais)

Au lieu que je me connecte en ssh, sur mon serveur, et taper la commande : adduser…

l’objectif est que j’arrive à me connecter via IP_de_mon_serveur/script, j’aurai 2 ou 3 cases, (Nom, Prénom et Password) puis un bouton Envoyer

dès que je remplis le formulaire, le utilisateur doit être créer avec le mot de passe que j’ai spécifié dans le formulaire.

Voila…

Merci par avance,

je vous souhaite des joyeuses fêtes…

Installe webmin :slightly_smiling:

Salut,

Merci pour la réponse.

Mais je cherche à faire ça juste avec une page web dédier pour ça.

ça me permettra de faire pareil, pour d’autre script…

Merci encore une fois

tu peux le faire avec perl par exemple
http://www.ibm.com/developerworks/linux/library/l-punix/index.html

Tu as un serveur web ? Il va juste falloir créer un script cgi et ce dernier utilise lance adduser avec un sudo par exemple.

encore faut-il le faire correctement :stuck_out_tongue:

blog.khemael.net/2010/08/26/de-l … -en-php/2/

[quote=“agentsteel”]encore faut-il le faire correctement :stuck_out_tongue:

blog.khemael.net/2010/08/26/de-l … -en-php/2/[/quote]
Qu’est ce que j’aime les donneurs de leçon du web… Le C pour de la sécurité sécurité, il faut avoir un niveau sacrément couillu pour rester sécurisé… Le C (comme le C++ entre autre) c’est un nid à faille. Les buffers overflow et autres sont facile à créer. Bien sûr le monsieur parle de la pire façon d’utiliser sudo. Dans les commentaires quelqu’un le reprend sur ce point (j’ai pas à le faire c’est cool). Il nous explique que sudo a eu des failles de sécurité, en regardant le BTS debian j’ai pas trouvé grand chose mis à part des failles en 2002… Bien sûr aucune faille de sécurité n’a jamais était trouvée dans ses wrappers.

À vouloir joué les malins en sécurité, on commence par écouter ce qui se fait puis on prèche la bonne parole. En l’occurence il faudrait utiliser la séparation des privilèges, mais rien oblige à utiliser du C pour faire ça (le perl ou le python c’est très bien).

Je ne dis pas que sa solution est nulle, juste qu’elle n’est pas la seule et qu’il jette l’oprobe un peu facilement sur une solution qui ne pose pas autant de problème que ce qu’il dit (enfin il est tellement évasif dans ce qu’il dit…).

oui, c’est plus pour éviter les “mauvais exemples” que j’ai mis le lien

le shell ou le perl vont bien pour les cgi mais en effet gaffe aux buffer overflow et autres failles

Bonjour,

Après avoir étudié ce sujet, j’ai retenu les points suivants :

  • pleins de personnes donnent tous les droits à www-data via sudoers
  • il n’y a (malheureusement) pas de solution parfaite, chacun y va de son expérience et de sa préférence
  • il ne faut pas avoir peur d’utiliser sudoers à condition de le configurer au juste besoin
  • peu de développeurs communiquent à ce sujet (ce que je regrette). Beaucoup de sysadmin aiment partager leurs astuces mais je n’ai pas l’impression que ce soit pareil chez les dev (ce n’est qu’une impression…)

La solution technique que j’ai retenu est la suivante :

Utiliser la bibliothèque php “libssh2” (ou php fonction exec, l’avantage du libssh2 est que tu pourra administrer un serveur local ou des serveurs distants !) afin de se connecter en ssh sur le serveur Linux et d’utiliser un compte Linux aux droits limités (idéalement chrooté) autorisé à utiliser certaines commande via sudoers. Toujours vérifier que les données introduites dans les formulaires correspondent à ce que l’on attends (pour éviter d’avoir des exécutions de code arbitraire à la suite du pseudo désiré par le visiteur).
C’est simple, rapide à mettre en oeuvre et tu peux exécuter ainsi des scripts bash récupérant les variables PHP (correspondantes au champ du formulaire).

Je ne connais pas l’utilisation de CGI et ne peux donc comparer ma solution avec celle déjà présentée cependant je ne sais pas si Apache peut tourner en mode CGI et serveur ?

N’hésitez pas à commenter ma solution choisie. :slightly_smiling:

Si on regarde du côté des interfaces d’administration web des distros pare-feu, par exemple :

ipcop : tout en CGI perl
sourceforge.net/apps/trac/ipcop/ … ml/cgi-bin

pfsense : tout en php, exemple : github.com/bsdperimeter/pfsense … ns.inc.php

bon après les httpd tournent sous l’utilisateur root (en tout cas sur ipcop, j’ai pas de pfsense qui tourne sous la main) donc c’est réglé pour les droits (du coup ça fait pas trop avancer le schmilblick) :mrgreen: