Rechercher : dans
Par :

Utiliser commandes root sous apache

Dernière réponse le 13 jun 2008 à 01:22:06 maxinfos, le 11 jun 2008 à 10:13:43 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0

Meilleures réponses pour « Utiliser commandes root sous apache » dans :
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Linux - Gentoo - Installation de Apache2/PHP VoirComme toutes les installations au niveau de Gentoo, Portage se chargera de l'installation des packages et la gestion dépendances. Installation d'Apache2 L'installation d'Apache2 démarrera avec l'exécution de la commande emerge apache Pour...
[Linux] Utiliser la commande 'su' VoirPréambule Se connecter sous un autre ID utilisateur avec "su" Démarrer un nouveau shell de connexion avec "su -" Revenir au shell précédent Suspendre le shell du compte root Notes Préambule La commande "su" (Switch User, appelée plus...
Systèmes d'exploitation - DOS - Astuces VoirAvoir accès au lecteur de CD-ROM Le lecteur de CD-ROM se déclare dans les fichiers config.sys et autoexec.bat. Dans le fichier config.sys il faut déclarer le gestionnaire de périphérique pour votre lecteur CD-ROM (bien qu'il soit détecté...
Apache - Les fichiers .htaccess VoirLes fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...

1

mamiemando, le 11 jun 2008 à 10:20:53
Répondre à mamiemando

2

maxinfos, le 11 jun 2008 à 14:26:50

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 ???

Répondre à maxinfos

3

mamiemando, le 11 jun 2008 à 16:38:15

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 ?

Répondre à mamiemando

4

maxinfos, le 11 jun 2008 à 16:47:22

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 ...

Répondre à maxinfos

5

maxinfos, le 11 jun 2008 à 16:50:31

EDIT : DE PLUS, d'autres fonctionnalités doivent être développées : config adresse ip, reboot, shutdown ...

Répondre à maxinfos

6

mamiemando, le 11 jun 2008 à 16:52:19

Ben pas besoin d'un utilisateur alors, un utilisateur virtuel suffit, non ?
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HO­WTO-VirtualUsers.html

Répondre à mamiemando

7

maxinfos, le 12 jun 2008 à 14:06:43

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.

Répondre à maxinfos

8

 mamiemando, le 13 jun 2008 à 01:22:06

Merci de toutes ces précisions :-)

Répondre à mamiemando