Каков наилучший способ удаленного изменения пароля пользователя в Unix?
Каков наилучший способ удаленного изменения пароля пользователя в Unix? Это должно быть выполнено пользователем в веб-приложении или Windows-приложении без использования SSH или какого-либо прямого соединения между пользователем и сервером (прямая командная строка не допускается).
Спасибо
Webmin, казалось, был хорошим приложением для этого, но мне было очень сложно правильно его настроить. Мои пользователи Unix не могут войти в Webmin или Usermin.
Знаете ли вы какие-либо альтернативы Webmin и Usermin?
Спасибо
4 ответа
@ Рич Брэдшоу
Просто убедитесь, что у вас нет проблем с безопасностью. Решение должно использовать шифрование https (пароль никогда не следует отправлять в виде открытого текста). Он должен быть защищен от атак с помощью инъекций оболочки (убрать любые символы новой строки из ввода, избежать его и т. Д.). Больше деталей зависит от выбранной реализации.
В прошлом я делал это для смены паролей на нескольких серверах одновременно, используя скрипт, написанный на Expect. Это идеально подходит для работы, но вам понадобятся серверы для прослушивания через SSH.
После написания сценарий будет выполняться на вашей локальной рабочей станции и будет подключаться к удаленному хосту, выполнять взаимодействие, которое вы написали в сценарии, и тогда вы должны быть золотым. В то же время, используя шифрование, которому вы уже доверяете, если вы используете SSH. Только не сохраняйте пароли в вашем скрипте: вы должны иметь возможность запрашивать их у себя (даже принимая их в качестве аргумента командной строки, как правило, считается плохой практикой).
Ожидайте, что это тоже отличный язык: очень весело!
Вы можете написать серверный скрипт, который запускает passwd, вы можете сделать это на любом языке, который позволяет запускать команды оболочки.