Utiliser commandes root sous apache
Résolu/Fermé
maxinfos
-
11 juin 2008 à 10:13
mamiemando Messages postés 33606 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 26 mars 2025 - 13 juin 2008 à 01:22
mamiemando Messages postés 33606 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 26 mars 2025 - 13 juin 2008 à 01:22
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
- Kingo root - Télécharger - Divers Utilitaires
- Utiliser iphone comme webcam - Guide
7 réponses
maxinfos
Messages postés
33
Date d'inscription
mercredi 6 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2008
3
12 juin 2008 à 14:06
12 juin 2008 à 14:06
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.
mamiemando
Messages postés
33606
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 mars 2025
7 836
11 juin 2008 à 10:20
11 juin 2008 à 10:20
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 ???
mamiemando
Messages postés
33606
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 mars 2025
7 836
11 juin 2008 à 16:38
11 juin 2008 à 16:38
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
maxinfos
Messages postés
33
Date d'inscription
mercredi 6 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2008
3
11 juin 2008 à 16:50
11 juin 2008 à 16:50
EDIT : DE PLUS, d'autres fonctionnalités doivent être développées : config adresse ip, reboot, shutdown ...
mamiemando
Messages postés
33606
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 mars 2025
7 836
11 juin 2008 à 16:52
11 juin 2008 à 16:52
Ben pas besoin d'un utilisateur alors, un utilisateur virtuel suffit, non ?
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-VirtualUsers.html
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-VirtualUsers.html
mamiemando
Messages postés
33606
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 mars 2025
7 836
13 juin 2008 à 01:22
13 juin 2008 à 01:22
Merci de toutes ces précisions :-)