Синхронизация паролей от Linux к Samba

В сети вообще ничего не найдено: я ищу автоматическую синхронизацию паролей linux to samba (НЕ Samba to Linux). Я написал веб-форму cgi, которая изменяет этот пароль непосредственно в теневом файле, используя зашифрованный пароль (из соображений безопасности я не хочу, чтобы пароли хранились в виде открытого текста в лог-файлах). Не использует LDAP. Все было бы хорошо, если пользователь входит в систему впервые, используя ssh, но у меня есть пользователи, которые используют только Windows, поэтому я не могу спросить i.ex. секретарь, чтобы сделать это.

По сути, я еще сделал следующее: vi /etc/pam.d/common-password

password        required                        pam_smbpass.so nullok use_authtok use_first_pass
  • Я также попробовал changepassword-0.9, но есть ошибка, которая никогда не была решена его программистом.
  • Сват это не решение для меня.

Я еще нашел следующие сайты, но все еще борюсь вокруг...

- http://uranus.chrysocome.net/linux/smbfs/pam_smbpass.html

- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/System_Administration_Guide/Configuring_a_Samba_Server-Encrypted_Passwords.html

вот некоторый код моего сценария Perl CGI:

# 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;

Это отправит зашифрованный пароль другому сценарию perl, который записывает его непосредственно в теневой файл. (Все это защищено шибболетом, так что мне нет дела до хакеров со всего мира).

Я пробовал что-то подобное в сценарии выполнения, но, к сожалению, это не решение проблемы:

    # 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");

Кто-то может мне помочь? Спасибо.

1 ответ

На самом деле это то, для чего предназначен домен. Используйте либо домен AD, либо samba в качестве DC, либо просто LDAP в качестве бэкэнда пароля. В настоящее время вы заново изобретаете колесо, и это колесо имеет форму треугольника.

Кроме того, вы пытаетесь получить помощь в полировке того, что, по вашему мнению, является решением для, вероятно, распространенной задачи, не упоминая, что это за задача. Могу поспорить, что это стандартно, если вы не проводите какие-то продвинутые исследования (но извините, ваш пост явно не производит такого впечатления).

Другие вопросы по тегам