Как сделать так, чтобы пароль root не запускал запись об изменении в Ansible?

Попробуйте это:

perl -nle'($time, $host) = /^(\S+)\s(?:\S+\s+){8}\S+="(\S+?)"/; print "$time $host"'

Выход:

2016-05-07T09:07:04.933343+00:00 jamaican.com
  • \Sозначает не -пробел
  • \s— пробел
  • (?:)— логическая группа, которая не захвачена
  • {8}— пропущенные «слова»
  • \S+="(\S+?)"означает :пропустить до =и захватить то, что находится между двумя "кавычками
  • ($time, $host) = /.../назначает две захваченные группы $timeи $host
  • .
1
06.01.2020, 17:51
1 ответ

Это действительно то, что должно произойти. Однако вы не передаете один и тот же зашифрованный пароль каждый раз, когда:password_hashможет принимать соль в качестве второго параметра. Если он отсутствует, он генерируется случайным образом. (Соль используется для защиты от атак с предварительно -вычисляемым словарем, поэтому хэш-значение для blehбудет каждый раз другим)

Сравните:

ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha256') }}"

запустить несколько раз, с изменением результата, с

ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha512', 'mysecretsalt') }}"

где результат остается прежним, потому что вы исправляете соль.

2
28.04.2021, 23:26

Теги

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