Bonjour,

Je suis en train de mettre en place un proxy appelé Squid, sous Ubuntu 10.10.
J'ai besoin de créer un fichier pour entrer tous les utilisateurs afin de les authentifier quand ils se connecteront à internet.

La commande il y a 2 semaines pour entrer un utilisateur est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
htpasswd -b /etc/squid3/users [nomutilisateur] [password]
Où -b sert à rentrer le nom et le mot de passe sur la même ligne.

Seulement, une mise à jour Apache est arrivée le 7 mars, et maintenant, quand on fait un "man htpasswd", un seul argument est valable, "-c" pour créer le fichier users, mais c'est tout. On ne peut pas entrer le mot de passe sur la même ligne.

Le problème est que j'ai crée un script pour entrer mes 1200 utilisateurs en python. Quand la commande acceptait tous les paramètres sur la même ligne c'était facile.
Ici, il faut ordonner dans le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
htpasswd -c /etc/squid3/users [nomutilisateur]
Puis revenir à la ligne afin d'entrer le mot de passe, j'aimerais simuler un appui sur la touche Entrée pour aller à ligne suivante, entrer le mot de passe, entrée encore, validation du mot de passe.

Je vous donne le script que j'ai crée, je sais pas trop quoi faire parce que cette décomposition des actions est difficile à simuler. j'ai essayé "\n" pour retour chariot, mais sans résultat, et je connais pas trop la syntaxe :/


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from os import chdir 
 
import os
 
chdir("/home/administrateur/Bureau") #mettre ici le repertoire ou se situe le fichier contenant les users et mdp
 
fichierSource = open('listecourte','r') #modifer le nom du fichier
 
ligne = fichierSource.readline()
 
while ligne != "" :
 
	liste = ligne.split(";")
 
	os.system("htpasswd /etc/squid3/users"+" "+liste[0])+"\n"
	liste[0]+"\n"
 
	ligne = fichierSource.readline()
Vous auriez une idée ?

Merci d'avance.