Rien n'a été trouvé sur le Net : Je cherche une synchronisation automatique des mots de passe linux vers samba (PAS Samba vers Linux). J'ai écrit un formulaire web cgi qui change ce mot de passe directement dans le fichier shadow, en utilisant un mot de passe crypté (pour des raisons de sécurité, je ne veux pas permettre que les mots de passe soient stockés en clair dans les fichiers journaux). Je n'utilise pas LDAP. Tout irait bien si l'utilisateur se connectait pour la première fois en utilisant ssh, mais j'ai des utilisateurs qui n'utilisent que Windows, et je ne peux donc pas demander, par exemple, à une secrétaire de le faire.
En fait, ce que j'ai fait jusqu'à présent, c'est ceci : vi /etc/pam.d/common-password
password required pam_smbpass.so nullok use_authtok use_first_pass
- J'ai aussi essayé changepassword-0.9, mais il y a un bug qui n'a jamais été résolu par son programmeur.
- Swat n'est pas une solution pour moi.
J'ai trouvé les sites suivants, mais j'ai encore du mal à les trouver...
- http://uranus.chrysocome.net/linux/smbfs/pam_smbpass.html
voici le code de mon cgi perl script :
# Crypt the password here so that it cannot be read in any logflie
my $cryptedShadowString = `echo "$new_passwd1"|openssl passwd -1 -stdin`;
chomp($cryptedShadowString);
(...)
open($result, '-|') || exec $SUDO, $EXECUTINGSCRIPT, $login, $old_passwd, $cryptedShadowString, $cryptedShadowString;
Cela enverra le mot de passe crypté à un autre script perl qui l'écrira directement dans le fichier shadow. (Tous les éléments sont protégés par shibboleth, donc je ne me soucie pas des hackers venant du monde entier).
J'ai essayé quelque chose comme ça dans l'exécution script, mais malheureusement ce n'est pas la solution :
# Do a first login to chat the new password to the samba password file:
sleep 2; # sleep a bit, for the next command:
system(" ( echo '') | exec '/bin/su' $login");
Quelqu'un peut-il m'aider ? Je vous remercie.