bonjour,
Je veux copier les mots de passe de /etc/shadow de sme 6 sur sme7...
J'ai fait un petit script bash pour récupérer les mdp en me basant sur le fichier account de sme7...
après avoir passer le lat-user
#!/bin/sh
MONTAGE_account="/home/e-smith/"
nom_fich_account="accounts"
MONTAGE_shadow="/home/e-smith/files/ibays/Primary/files/fichier_migration/home/e-smith/"
nom_fich_shadow="shadow"
ACTU_shadow="/etc"
# Lecture fichier accounts sme7
cat $MONTAGE_account/$nom_fich_account | while read line
do
echo "=> récup des infos de chaque user"
lig_user=`echo $line | cut -d"|" -f1 ` # extract si ligne=user
nom_user=`echo $lig_user | cut -d"=" -f1` # extract nom user
typ_user=`echo $lig_user | cut -d"=" -f2` # extract tupe de ligne
if [ "$typ_user" = "user" ]
then
# Lecture du fichier shadow de sme6 pour récupérer le mot de passe
cat $MONTAGE_shadow/$nom_fich_shadow | while read line
do
lig_shadow=`echo $line1 | cut -d":" -f1 ` # extract si ligne=shadow-user
if ["lig_shadow" = "$nom_user" ]
then
user_shadow=`echo $line1 | cut -d":" -f2 ` # extract shadow du user
# maj du mot de passe dans le fichier shadow de sme7
perl -i -p -e "s/^$lig_shadow:!!/$lig_shadow:$user_shadow/; " $ACTU_shadow/$nom_fich_shadow
db accounts setprop $nom_user PasswordSet yes
fi
done
fi
done
La ligne perl n'appécie pas du tout ce qui se trouve dans $user_shadow (le mot de passe crypté)
Si je remplace par
user_shadow= "titi"
Je n'ai plus de problème sauf que j'ai titi comme mot de passe dans le fichier shadow
Il faudrait que je mette dess \ devant tous les caractères spéciaux...
Si vous avez une solution...
Mon but : récupérer un maximum d'infos en automatique pour la migration de sme 6 à sme 7
J'ai déjà fait le script pour faire le fichier des utilisateurs pour lat-user en me basant sur le fichier home/e-smith/accounts de sme6
Si vous avez des idées pour mettre les '\' ...
anne