Utiliser commandes root sous apache

Résolu
maxinfos -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je voudrais savoir comment utiliser les commandes root depuis l'utilisateur apache (sans à avoir à saisir le mot de passe root).
Je dois, via une interface web, permettre de créer des comptes sous unix, via en php un system("useradd mon_user") par exemple.

J'ai déjà essayé de modifier le fichier sudoers mais cela ne me permet pas de faire un "useradd".
J'avais aussi tenté les clé d'authentification RSA ... mais je ne peux pas les créer depuis le user apache vu que c'est un nologin ...

Une idée ... déjà 3 jours de recherche ... je suis sous FEDORA CORE.
Merci
A voir également:

7 réponses

maxinfos Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   3
 
SOLUTION :
Lancer ssh depuis ROOT : "/etc/init.d/ssh start"
Modifier le compte APACHE afin d'avoir une invite commande : mettre /bin/sh en shell de connexion.
Se connecter sur le compte APACHE et générer les clés RSA (key_apache et key_apache.pub) avec ssh-keygen ("ssh-keygen -f key_apache -t rsa").
Créer le dossier .ssh dans le répertoire racine de APACHE (/var/www/.ssh) pour permettre la génération du fichier known_hosts.
Copier en ROOT le fichier key_apache.pub généré par ssh-keygen dans le répertoire /root/.ssh et le renommer en authorized_keys.

Ensuite, depuis le compte APACHE, faire un "ssh -i key_apache root@MACHINE commande_root".

Voilà

On peut désormais à partir d'un compte APACHE lancer une commande ROOT sans à avoir à saisir le mot de passe root, ce qui permet une utilisation via un system() en php par exemple.
1
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
0
maxinfos
 
J'ai bien lu ce topic ... mais il ne répond pas à ma demande, celle de permettre au user APACHE de faire un USERADD, qui nécessite normalement les droits root ...

En clair, comment faire pour que APACHE puisse créer un compte utilisateur machine (useradd) sans à avoir à saisir le mot de passe root ???
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
La méthode simple c'est de mettre l'utilisateur apache www-data en sudoer pour useradd. Le problème c'est que quelqu'un de malveillant pourrait créer pleins de compte, déterminer quels comptes existent déjà sur la machine etc. D'un point de vue sécurité ça me paraît pas super. En fait pourquoi as-tu besoin de faire un useradd ?
0
maxinfos
 
Je dois créer des comptes ftp sur ma machine pour que des machines extérieures puissent déposer des fichiers ... et les dépots ne se font pas par interface web ... directement en connexion avec une adresse ip vu que ces dépôts sont automatisés ... de puis, d'autres fonctionnalités doivent être développées : config adresse ip, reboot, shutdown ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxinfos Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   3
 
EDIT : DE PLUS, d'autres fonctionnalités doivent être développées : config adresse ip, reboot, shutdown ...
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Ben pas besoin d'un utilisateur alors, un utilisateur virtuel suffit, non ?
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-VirtualUsers.html
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Merci de toutes ces précisions :-)
0