|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Bonjour,
J'aimerais savoir comment utiliser PHP pour créer un utilisateur. J'ai fait un script Shell, où j'ai inséré le useradd. Tout à l'air de marcher, les messages que j'ai mit s'affichent, etc. Mais l'utilisateur n'est pas créé, et je pense que cela est dû aux permissions manquantes de www-data. Comment je peux lui attribuer ? J'ai cherché auprès de sudo, je viens de l'installer, mais malgré là doc', j'y comprend rien... Merci de m'aider ! |
|
|
00
|
|
|
#2 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Bonsoir.
Tu voulais le faire en PHP pour palier le problème de ton script shell ? Peux-tu nous donner le code de ton script et le retour de la commande ci-dessous ? Code :
cat /etc/passwd | grep ton_user_crée_dans_le_script Cordialement, Idriss |
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Salut,
Désolé je ne suis pas sur mon ordinateur actuellement, je copierais le code demain. Quand je lance le script en tant que root, ça marche bien... C'est donc surement un problème de droits, mais comment le résoudre ? |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Up! Comment lancer mon script .sh en root via PHP (www-data) ?
|
|
|
00
|
|
|
#5 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Bonsoir.
Tu as des instructions exec() et system () en PHP. Cordialement, Idriss |
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Oui, mais elles me retournent une erreur 127, et je pense que c'est parce que www-data n'as pas les permissions de lancer ce programme...
|
|
|
00
|
|
|
#7 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Salut.
Et avec une commande toute bête comme ls ou pwd, tu as la même erreur ? Quel est le but de ton script PHP ? Peut-tu nous poster le code de ton script shell et de ton script PHP ? Cordialement, Idriss |
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Si j'éxécute le script shell en utilisateur root via SSH, ça marche.
Si je le fais via PHP, ça marche pas. Sinon j'ai essayé directement en useradd : Code :
system("useradd user -g 65534 -s /bin/false -p `mkpasswd xxx` -d /home/usr",$return_var); |
|
|
00
|
|
|
#9 | |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Re
C'est donc plus un problème de PHP qu'autre chose. Citation:
Peut tu aussi préciser ta distribution ? Cordialement, Idriss |
|
|
00
|
|
|
#10 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
J'utilise Debian Lenny.
Et oui, la commande ls marche bien et me retourne tous les fichiers présents. Code :
Code :
|
||||
|
|
00
|
|
|
#11 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Et si tu met les droits 777 sur ton script ?
|
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Tout est déjà en 777, et j'ai même mis le propriétaire du script en www-data...
|
|
|
00
|
|
|
#13 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Alors je pense que ton problème vient de l'utilisation de useradd qui est une commande root ... on pourrait très bien changer les droits de cette commande mais c'est à proscrire
(faille de sécurité considérable et bidouillage).Si tu enlève le useradd du script, tu n'as plus cette erreur ? |
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Eh bien en fait, quand je lance le script shell avec PHP, il n'y a pas d'erreurs, c'est comme si tout marchait, les messages sont affichés, etc.
Mais l'utilisateur ne se créé pas, et je suis sûr qu'il n'y a pas de problèmes de le script, car l'utilisateur est créé en root. Par contre, si je lance la commande useradd directement avec exec() ou system(), là, il y a cette erreur 127. |
|
|
00
|
|
|
#15 |
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Justement, useradd est une commande root ... et créer pouvoir utilisateurs sans être administrateur est une grosse faille de sécurité
. AMHA, tu devrais t'en tenir à exécuter ce script en root ...Cordialement, Idriss |
|
00
|
|
|
#16 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Ok, tant pis...
Et si je l'éxécute avec cron ? Enfin, je lance le .sh avec cron, ça va marcher ou pas ? |
|
|
00
|
|
|
#17 | ||
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Normalement oui, si c'est exécuté avec le fichier crontab root ...
ou : Code :
Idriss |
||
|
00
|
|
|
#18 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Ok, bon, je vais commencer à refaire mon script shell du coup.
Je souhaite créer un utilisateur où le champ "x" de ma base mysql = 0 Exemple, dans un base MYSQL, j'ai les champs : nom truc x j'ai 3 utilisateurs, dont : Machin abc 0 Truc abc 0 truc2 abc 1 Comme Machin et Truc on 0 dans le champ x, j'aimerais que mon script shell créé les utilisateurs Machin et Truc, puis modifier le champ x en 1 pour ces deux utilisateurs. Comment faire ? J'ai essayé ceci : Code :
STRING_SQL=`echo "use matable; select nom from ftp where fini=0;" | mysql --user=root --password=xxxx` Pourquoi affiche-t-il le nom du champ de ma table, "nom" ? Comment faire une boucle pour créer un user pour tous les données retournées ? Merci beaucoup de ton aide, Idriss ! |
|
|
00
|
|
|
#19 | |||
![]() ![]() Idriss NeumannConsultant en SSII et étudiant au CNAM Paris (ingénieur SI) Inscription : février 2009 Messages : 1 972 ![]() |
Citation:
Code :
|
|||
|
00
|
|
|
#20 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2009 Messages : 146 ![]() |
Par contre, voilà le crontab que j'ai réalisé qui ne marche pas : Code :
EDIT : Ça marche niquel, je devais faire /usr/sbin/useradd au lieu de useradd dans le script shell. Je te remercie infiniment, Idriss |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com