Изменение пароля пользователя с помощью команд usermod и ssh

У меня есть две машины, каждая из которых имеет одинаковый набор пользователей. У меня есть сценарий на одной машине, на котором я хочу изменить пароль на обеих машинах.

Итак, я генерирую случайный пароль, затем хеш-файл и передаю его команде usermod, например:

usermod -p PASSWORD_HASH USER
ssh REMOTE_USER@REMOTE_HOST sudo usermod -p PASSWORD_HASH USER

У REMOTE_USER есть привилегии для выполнения этой команды с использованием sudo, не требуя пароля.

Исход этого заключается в том, что пароль успешно изменен на локальном компьютере, что я могу проверить сразу же, пытаясь:

su USER

Я также проверил файл / etc / shadow, и кажется, что хэш действительно сохранен правильно.

Однако, если я перехожу к другой машине и попытаться войти в систему как USER, я не могу войти. Я получаю ошибку проверки подлинности. Если я вхожу на удаленную машину с привилегиями суперпользователя и проверяю файл / etc / shadow, хеш пароля полностью искажен и не имеет никакого смысла.

Однако, если на удаленной машине , Я выполняю ту же самую команду, не переходя через ssh, используя

sudo usermod -p PASSWORD_HASH USER

Тогда все работает отлично.

Мой вопрос:

Есть ли какие-то детали здесь я пропускаю, что заставляет команду usermod НЕ работать над ssh по какой-то причине?

1
задан 18 August 2016 в 00:12

0 ответов

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

Похожие вопросы: