GNU/Linux >> Linux の 問題 >  >> Linux

puppet での Linux のユーザー パスワードの管理

Linux ユーザーのパスワードはハッシュとして /etc/shadow ファイルに保存されます。 Puppet は、/etc/shadow ファイルのユーザー タイプ定義で提供されたパスワードを渡します。

openssl コマンドを使用してハッシュ パスワードを生成します:

 #openssl passwd -1  
 #Enter your password here 
 Password: 
 Verifying - Password: 
 $1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM

前の例では、次のハッシュが生成されます:$1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM/

示されているように、このハッシュ パスワードをクラスに追加します (引用符を忘れないでください)

user { 'test_user': 
  ensure   => present,
  password => '$1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM/',
}

sha1 あなたが理解したように、操り人形の機能はpasswdエントリを直接意図したものではありません.パスワードではなくハッシュを設定することをお勧めします!とにかく、パスワードを回復できるとは想定されていません-一度生成するか、パペットに毎回生成させることができます-そのハッシュを一度生成するだけで十分です... Debian/Ubuntuでパスワードを生成できますこのように:

pwgen -s -1 | mkpasswd -m sha-512 -s

...CentOS では、mkpasswd の代わりに grub-crypt コマンドを使用できます...


puppetlabs の stdlib パッケージは、同様の pw_hash を実装しています 受け入れられた回答の関数。

必ずライブラリを構成に追加してください。ライブラリアンを使用している場合は、 Puppetfile を追加するだけです

mod 'puppetlabs-stdlib'

次に、ユーザーを作成するには、次のようにします:

user { 'user':
  ensure => present,
  password => pw_hash('password', 'SHA-512', 'mysalt'),
}

Puppet パーサー関数内から ruby​​ の String#crypt メソッドで成功 (要旨) しました。

AFAICS crypt libc 関数を使用しています (参照:info crypt )、同じ引数 $n$[rounds=<m>$]salt を取ります ここで、n はハッシュ関数 (SHA-512 の場合は $6)、m はキー強化ラウンドの数 (デフォルトでは 5000) です。


Linux
  1. Linuxでユーザーパスワードを変更、削除、または無効にする方法

  2. Titan –Linux用のコマンドラインパスワードマネージャー

  3. Buttercup –Linux用の最新のパスワードマネージャー

  1. すべてのユーザーに必要な20のLinuxコマンド

  2. Linux (CentOS/RHEL) でシングル ユーザー モードのパスワードを設定する

  3. Linux でのパニック パスワード

  1. Linuxコマンドライン用の3つのパスワードマネージャー

  2. Linuxの高度なセキュリティ手順

  3. Linuxでユーザーパスワードを設定または変更する