Bonjour,
>
> Dans ton cas tu execute /bin/true (qui lance un shell d'ailleurs!!) au lieu de
> /bin/sh.
Oui, c'est vrai mais il redonne la main tout de suite.
> Mais y'a pas de mot de passe (le x dit qu'il ne faut pas se loguer sous le nom
> de cet utilisateur => par de telnet ni de ftp). Il est donc *obligatoire* de
> passer par root pour executer qq chose en nobody. La protection est donc
> reporte sur la facilite de se connecter en root (qui est assez bien faite par
> pam d'ailleurs).
>
Tout a fait d'accord, mais l'utilisateur nobody est utilisé généralement comme
propriétaire de daemon.
> >
> > Ce que je cherche, c'est faire excécuter une commande shell à un utilisateur
> > n'aillant pas de shell, c'est à dire /bin/true ou /bin/false défini comme
> > shell par défaut.
>
> En fait, tu n'est pas oblige de lancer un shell a la connection, c'est
> seulement nous pauvres humains avons besoin d'un shell pour nous servir de
> notre belle machine, mais rien n'interdit de donner une autre commande dans
> /etc/passwd (/bin/true par exemple). Tu peux donc d'efinir un utilisateur
> ayant un tache specialisee et donner un executable ou une commande traitant
> cette tache dans /etc/passwd. L'inconvenient est qu'il faut un utilisateur par
> commande...
Mon point de vue est du coté linux, os de gestion de serveur plustot que
de station. Si on lance un daemon sous un user aillant un shell, on ouvre
un trou de sécurité, Pour certain, on peut pas faire autrement, mais le cas
nobody m'interresse, car c'est un user qu'on utilise pour les
serveurs web ou les proxy entre autre. Au moindre trou dans le daemon, un
éventuel pirate aura un shell sur la machine !
Je suis assez panaro, je sais !
--
Cordialement,
Henry-Pascal ELDIN
Administration Systeme et Réseau de la Plateforme Internet du
Syndicat Intercommunal à Vocation Unique des Inforoutes de l'Ardèche
http://www.inforoutes-ardeche.fr