2016-02-26 4 views
0

Мне нужно изменить пароль для пользователя более чем для ста систем. Я хочу сделать это с возможностью. Это легко. Однако для пользовательского модуля, который необходим для доступа, требуется хешированный пароль. Меня беспокоит, что есть несколько старых хостов, которые могут не поддерживать более новые типы хэширования. Я хочу иметь возможность программно идентифицировать, какие алгоритмы хеширования пароля доступны, и использовать соответствующий хэш пароля для изменения. Или, возможно, лучший способ справиться с этой продажей.изменение пароля с использованием старых систем

Я рассмотрел следующее:

echo username:password | chpasswd 

и запустить, что с помощью модуля командной строки. Это должно использовать любой алгоритм по умолчанию. Есть ли причина для беспокойства по этому методу?

ответ

2

На мой взгляд, идеальным способом было бы отображать поддерживаемые хэши для каждой машины, а затем генерировать proper hash для каждой машины.

Подход, который вы должны использовать, просто убедитесь, что вы используете «no_log: yes» для своей задачи, чтобы пароль не попадал в файл журнала.

При любом подходе вам понадобится способ ввода пароля (ов) в возможность использования с пользовательским модулем. Не уверен, будут ли пароли находиться в файле CSV, файле yaml или другом формате. Вы могли бы рассмотреть возможность использования vault to lock вещей немного больше.

+0

Я планирую использовать хранилище, чтобы предоставить пароль для воспроизведения. Спасибо за предложение no_log. Возможно, я могу добавить промежуточного пользователя ко всем системам, добавить его ко всем группам администраторов. Затем запустите книгу с этим пользователем, su для root, затем измените пароль root; наконец, удалите промежуточного пользователя. Я просто беспокоился о том, чтобы запереть себя на всех машинах. – paxamus