Aller au contenu

Execution D'un Script


Messages recommandés

Bonjour à tous,

Je ne sais pas si je suis au bon endroit désolé si c'est le cas mais voila je me retrouve confronté à un problème de lancement de script shell via une page php.

Voici les morceaux de code utilisé :

Php :


if(isset($_POST['Pseudo']) && isset($_POST['Pass']))

	{

		$pseudo = $_POST['Pseudo'];

		$pass = $_POST['Pass'];

		$cmd = 'sh /usr/createUser.sh ' . $pseudo . ' ' . $pass . ' test@gmail.com';

		if(file_exists('/usr/createUser.sh'))

		{

			echo 'je l ai trouvé';

			echo $cmd;

			$outpout = exec($cmd);

			echo $outpout;	

		}

		else

		{

			echo 'pas trouvé';

		}



	}

mon script shell createUser :

 #!/bin/bach


synouser --add $1 $2 $1 0 $3 1


voila je cherchea partir d'une page web a créer un utilisateur sur mon syno.

J'ai testé le script via ssh il fonctionne mais pour je ne sais quel raison il ne fonctionne pas a partir de mon script php :/

quelqu'un aurait une réponse?

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

dans un premier temps j'ai mis pour sudo ALL = ALL(ALL) ALL pour pouvoir tester avec n'importe quel utilisateur mais m

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...

Je suppose que c'est pour automatiser la création de comptes utilisateurs ?

Le plus simple serait d'installer le paquet Directory Server (serveur LDAP) depuis le Centre de packages et d'utiliser les fonctions LDAP de PHP pour gérer les utilisateurs.

L'extension LDAP pour PHP est d'ailleurs installée par défaut sur le NAS.

Je trouve ça beaucoup plus souple et plus propre que tout ce que j'ai pu lire plus haut.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

Grâce à vos réponse je me suis lancé dans l'utilisation du serveur LDAP. J'utilise donc les fonctions ldap_connect et ldap_bind pour m'authentifier sur le serveur. Après avoir cherché un moment je me suis aperçu que les fonction LDAP du module PHP n'étaient pas activée, je les ai activé. Cependant le résultat n'est pas très concluant, j'espère que quelqu'un pourra m'aider. Voila les info de Directory Server :

----Serveur----

FQDN : nom

Mot de passe : passwd

----Information d'authentification----

base dn : dc = nom

bind dn : uid=root, cn=users, dc=nom

J'ai donc utilisé le code suivant :


$ds=ldap_connect("http://www.mondomaine.tld",389)

or exit ("Echec connexion");

echo $ds;

if ($ds==1)

  {

  $r=ldap_bind("uid=root,cn=users,dc=nom");

// Ici les opérations à effectuer

echo "Déconnexion...<br>";

ldap_close($ds);

  }

else {

echo  "Impossible de se connecter au serveur LDAP";

  }

1) Lorsque j'utilise localhost au lieu de http://www.mondomaine.net j'obtiens l'erreur : "Resource id #58Impossible de se connecter au serveur LDAP"

2) En utilisant http://www.mondomaine.net ça va un peu plus loin mais j'obtiens l'erreur : "Warning: ldap_connect(): Could not create session handle: Bad parameter to an ldap routine in /volume1/web/.../sidebar.php on line 67" la ligne 67 étant le fonction ldap_connect()

Savez vous d'où cela peut il venir ? La fonction ldap_connect a pourtant l'air simple et contient peu de paramètres mais je n'y arrive pas :-(

Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.