Мне нужно создать тестового пользователя с паролем, используя puppet.
Я читал, что Puppet не может управлять паролями пользователей общим кроссплатформенным способом, что очень жаль. Я делаю это для Red Hat Enterprise Linux Server версии 6.3.
Я делаю следующее:
user { 'test_user':
ensure => present,
password => sha1('hello'),
}
кукольный обновляет пароль пользователя, но Linux говорит неправильный логин /pwd при попытке войти в систему.
Это работает (я могу войти в систему), если я устанавливаю пароль вручную в Linux с помощью sudo passwd test_user
, а затем смотрю на /etc/shadow
и жестко кодирую это значение в кукольном коде. что-то вроде:
user { 'test_user':
ensure => present,
password => '$1$zi13KdCr$zJvdWm5h552P8b34AjxO11',
}
Я также попытался, добавив $1$
перед sha1('hello')
,
но это также не работает (обратите внимание, $1$
обозначает sha1).
Как изменить первый пример, чтобы он работал (используя открытый текст в файле марионеток)?
П.С.: Мне известно, что я должен использовать LDAP, или sshkeys, или что-то еще, вместо того, чтобы жестко кодировать пароли пользователей в файле puppet. однако, я делаю это только для запуска теста марионеточного бродяги, так что можно жестко закодировать пароль пользователя.