Bonjour,
>
> > > Tu lui donnes un shell, puis un fois son action faite, il le perd ?
> > > tu fais comment ?
> >
> >
> execute find...
> su nobody -c "/usr/bin/updatedb --output=$TMPFILE --localpaths='/'
> --prunepaths=
> '/tmp /var/tmp /usr/tmp /afs /net' --netpaths='' 2>/dev/null"
>
>
> Voili, j'espere que tout le monde a compris :)
>
Ben non !
Merci pour l'explication sur cron.... 8-)))
Je viens de faire l'essai mais j'etais deja convaincu, cela ne fonctionne pas.
simple test :
lancé sous le compte root
su nobody -c "/bin/ls /tmp > /tmp/ttt"
devrait te donner un fichier /tmp/ttt ou il a le resultat de la commande ls
et bien, rien n'est crée car l'entrée nobody dans /etc/passwd est :
nobody:x:508:100:User Nobody:/tmp:/bin/true
par contre un
su eldin -c "/bin/ls /tmp > /tmp/ttt" fonctionne trés bien !
cela fonctionne si l'entrée est :
nobody:x:508:100:User Nobody:/tmp:
mais la, c'est dangereux car nobody a le shell par défaut donc /bin/sh !!
Et il donc possible de se connecter sur ce compte via telnet ou ftp,
en aillant le mot de passe bien sur !
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.
--
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