OVH Cloud OVH Cloud

Administration à distance par interface web

2 réponses
Avatar
alouest.du.soleil
Bonjour à tous,

Je participe à une association dont l'informatique comprend un serveur de
back-up sous linux, une chouette petite installation réalisée sur du matériel
de récup, sans écran ni clavier.

Le problème est que les gens qui ont conçu le truc ont sous-estimé la
résistance du personnel à tout ce qui n'est pas windows. L'administartion via
telnet ne passe pas du tout.

Je pense donc y faire tourner un serveur web et quelques scripts CGI. Mais
comment faire exécuter ainsi des tâches qui demandent des privilèges root ?

Faut-il donner ces droits au serveur web ? Ou vaut-il mieux inclure
l'utilisateur du serveur (nobody je suppose) dans ceux qui peuvent exécuter ces
tâches via sudo (comme faire les shutdowns proprement, par ex.) ?

Merci pour toutes suggestions que vous jugerez utiles, et auxquelles je n'ai
peut-être pas songé.

--
^^ Gauthier
(_____/°°-ç
| \_`-"
)/@mmm||
\nn \nn FOE-Belgium : http://www.amisdelaterre.be

2 réponses

Avatar
Pascal Bourguignon
(Gauthier) writes:

Bonjour à tous,

Je participe à une association dont l'informatique comprend un
serveur de back-up sous linux, une chouette petite installation
réalisée sur du matériel de récup, sans écran ni clavier.

Le problème est que les gens qui ont conçu le truc ont sous-estimé
la résistance du personnel à tout ce qui n'est pas
windows. L'administartion via telnet ne passe pas du tout.

Je pense donc y faire tourner un serveur web et quelques scripts
CGI. Mais comment faire exécuter ainsi des tâches qui demandent des
privilèges root ?

Faut-il donner ces droits au serveur web ? Ou vaut-il mieux inclure
l'utilisateur du serveur (nobody je suppose) dans ceux qui peuvent
exécuter ces tâches via sudo (comme faire les shutdowns proprement,
par ex.) ?

Merci pour toutes suggestions que vous jugerez utiles, et auxquelles
je n'ai peut-être pas songé.


Personnellement, j'utilise des CGI avec un embalage setuid, un petit
programme qui fait ça:

------------------------------------------------------------------------
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>


#ifndef CGIBIN
#error "CGIBIN is undefined."
#endif

#ifndef CGIEXE
#error "CGIEXE is undefined."
#endif

#ifndef CGINAME
#error "CGINAME is undefined."
#endif

int main(int argc,char** argv)
{
setreuid(geteuid(),geteuid());
umask(0022);
/* nettoyage de l'environnement (getenv, putenv, unsetenv) */
/* filtrage de l'accès (QUERY_STRING, REMOTE_ADDR, etc) */
/* finalement, si c'est bon:
return(execl(CGIBIN "/" CGIEXE,CGINAME,0));
}/*main*/
------------------------------------------------------------------------



Une autre solution serait d'avoir un mini-serveur web spécialisé,
comme linuxconf que je connaissais sur RedHat Linux 6.1.
http://freshmeat.net/projects/linuxconf/?topic_id%3

Linuxconf lui même peut servir, mais il permet de tout faire; les
utilisateurs n'auront besoin d'en connaitre que 1% ou 2%...

--
__Pascal_Bourguignon__
http://www.informatimago.com/

Avatar
David LE BOURGEOIS

Bonjour à tous,

Je participe à une association dont l'informatique comprend un serveur de
back-up sous linux, une chouette petite installation réalisée sur du matériel
de récup, sans écran ni clavier.

Le problème est que les gens qui ont conçu le truc ont sous-estimé la
résistance du personnel à tout ce qui n'est pas windows. L'administartion via
telnet ne passe pas du tout.

Je pense donc y faire tourner un serveur web et quelques scripts CGI. Mais
comment faire exécuter ainsi des tâches qui demandent des privilèges root ?

Faut-il donner ces droits au serveur web ? Ou vaut-il mieux inclure
l'utilisateur du serveur (nobody je suppose) dans ceux qui peuvent exécuter ces
tâches via sudo (comme faire les shutdowns proprement, par ex.) ?

Merci pour toutes suggestions que vous jugerez utiles, et auxquelles je n'ai
peut-être pas songé.



Est-ce que Webmin ne serait pas une solution ?


--
David LE BOURGEOIS