Bonjour,
J'ai un cas à vous soumettre parce que là je nage complètement je ne comprend pas.
On tourne sous tru64 unix v5.1b et ksh
le cas est totalement incompréhensible. (pour l'instant)
la situation initiale :
1. .netrc droit 600 du 24 juin 2003 contenant une entrée
2. script qui tourne en prod et exécute un
1 2 3 4 5 6 7 8
| (
ftp -v $MACHINE <<FIN
ascii
cd ..............
put ..............
bye
FIN
) 2>/tmp/test_ftp2 1>/tmp/test_ftp1 |
le fichier émis est crée depuis un script SQL
tout marche depuis lors
on met en production une version modifiée début janvier 2007
on utilise le même .netrc
la seule différence est que l'on fait 2 FTP vers deux machines des deux fichiers générés, mais de la même façon que précédemment.
1 2 3 4 5 6 7 8
| (
ftp -v $MACHINE <<FIN
ascii
cd ..............
put ..............
bye
FIN
) 2>/tmp/test_ftp2 1>/tmp/test_ftp1 |
et plus loin
1 2 3 4 5 6 7 8
| (
ftp -v $MACHINE2 <<FIN
ascii
cd ..............
put ..............
bye
FIN
) 2>/tmp/test_ftp3 1>/tmp/test_ftp4 |
là encore tout marche à la perfection
(
ce qui est impossible ou dumoins anormal puisque la machine 2 n'est pas déclarée dans le .netrc et que c'est pas les mêmes comptes pour se connecter)
hop miracle pour la première fois ce matin à 07h30 (heure d'arrivée de mon collègue) on découvre que le ftp échoue
de façon très logique puisque le message d'erreur est le suivant :
C'est le cas facile à reproduire en l'absence de .netrc
Hors comme je viens de le dire plus haut, ça a marché pendant plusieurs semaines 2 runs par nuits,
ce qui n'est pas possible, à priori. On aurai dû tomber sur ce cas d'erreur dès la première exécution.
Après vérification de la date de modif des fichiers et des sources sur la machine de développement les scripts n'ont pas changés.
Le diff entre le script sur la machine de dev et de prod ne trouve pas de caractères fantômes ni d'autres différences non plus d'ailleurs.
Les fichiers sont bien en dates du 9janvier2007 vers 11:29 comme dernière modif et le .netrc carrément de 2003 n'a jamais été modifié.
Cette erreur ne se produira plus car j'ai ajouter cette machine au .netrc cet aprèsmidi.
Alors pourquoi le ftp a fonctionné sans avoir le .netrc pour s'identifier jusqu'à aujourd'hui ? (
PS : on utilise le service ftp système pas une appli externe).
Comme le montre les éléments ci dessus le script n'envoie pas en dur les login/password à la machine distante.
Si vous avez une idée valable sur un tel cas... parceque là il est plus de 16h et j'en ai marre de ne pas comprendre...ce cas.....
PS: sur la machine destination et origine, le dernier reboot remonte à 9 janvier 2007 don c avant la modif. C'est donc pas le service FTP qui est en cause coté machine destination ni coté machine origine. (une des hypothèses que j'ai émis dans la journée).
Ceci peut avoir un impact direct sur la securité si il est possible de se connecter sans login/pass même restreint aux commandes ftp vers une machine destination. Voilà pourquoi je tiens à comprendre ce cas.
merci.
Partager