Utiliser commandes root sous apache
Résolu
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
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:
- Utiliser commandes root sous apache
- Utiliser chromecast - Guide
- Invite de commandes - Guide
- Apache open office gratuit - Télécharger - Suite bureautique
- Commandes terminal mac - Guide
- Utiliser iphone comme webcam - Guide
7 réponses
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.
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.
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 ???
En clair, comment faire pour que APACHE puisse créer un compte utilisateur machine (useradd) sans à avoir à saisir le mot de passe root ???
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 ?
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 ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
EDIT : DE PLUS, d'autres fonctionnalités doivent être développées : config adresse ip, reboot, shutdown ...