dehio3’s diary

仕事、生活、趣味のメモ

puppetで「Provider useradd does not support features manages_passwords; not managing attribute password」

事象

  • puppetでアカウント作成したらアカウントがロックされた状態で作成された。
  • アカウントを作成するモジュールでパスワードは設定してる。

対応

以下のサイトを参照

www.puppetcookbook.com

This means the ruby language support that puppet needs to manage a users password is missing and requires additional software to be installed. If you're running on CentOS / Fedora this can be fixed by installing the ruby-shadow package, and on Debian / Ubuntu libshadow-ruby will fulfil the requirement. This is most often seen in gem or source based installs as your package manager should handle this dependency when installing puppet via a package.

ruby-shadowを入れる必要あり!?

# rpm -qa | grep ruby-shadow
ruby-shadow-2.2.0-2.el6.x86_64

既に入ってる。

puppetのパッケージを確認。

# rpm -qa | grep puppet
puppet-3.8.7-1.el6.noarch
puppetlabs-release-6-11.noarch

updateある??

# yum list updates | grep puppet
facter.x86_64                        1:2.4.6-1.el6                 puppetlabs-products
hiera.noarch                         1.3.4-1.el6                   puppetlabs-products
puppetlabs-release.noarch            22.0-2                        puppetlabs-products

動いてる他の環境だと

$ rpm -qa | grep puppet
puppetlabs-release-22.0-2.noarch
puppet-3.8.7-1.el6.noarch

puppetlabs-release をupdateしてみる

yum update puppetlabs-release

再度疎通を実施

puppet agent -t -d

まだ出る。

Provider useradd does not support features manages_passwords; not managing attribute password

puppetlabs-productsリポジトリの他のupdateも上げてみる。

# yum update hiera
# yum update facter

再度疎通を実施

puppet agent -t -d

解消せず。。

パッケージ入れなおしたし、とりあえずpuppet再起動してみる。

# /etc/init.d/puppet restart

再度shadowを確認

# cat /etc/passwd

パスワード設定された!!

どのパッケージだったかは不明。。

とりあえず ruby-shadow があるのにエラー出る時はパッケージアップデートして再起動。