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é.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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:
#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%...
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:
#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%...
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:
#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%...
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
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é.
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é.