ubuntu - 用puppet创建用户, 无法指定密码
PHP中文网
PHP中文网 2017-04-21 10:55:18
0
1
441

已经试过在ubuntu上安装 puppet libshadow-ruby1.8

class users {
  package { "libshadow-ruby1.8":
    ensure => latest,
    require => Exec['apt-get update']
  }
  user { "ubuntu":
    ensure  => present,
    uid     => '1001',
    gid     => 'admin',
    shell   => '/bin/bash',
    password => sha1('ubuntu'),
    managehome => true,
    require => Package['libshadow-ruby1.8']
  }
}

include users

这么写用户名是创建了, 但是密码还是没有

ps: 其实我是在用vagrant, vagrant是默认用户名想换成ubuntu

PHP中文网
PHP中文网

认证0级讲师

全員に返信(1)
刘奇

「パスワードがまだありません」ということは、パスワード「ubuntu」を入力したときに認証に失敗したということでしょうか?それともシャドウファイルにubuntuレコードがまったくないのでしょうか?

これが最初のものだと思います (検証に失敗しました)。シャドウ ファイル内のパスワードは sha1() によって生成されたものではないようです。このメソッドをどこで見たのかわかりません。

私が考えた解決策は次のとおりです:

パペットクラスのシャドウファイルからコピーしたパスワードを使用します

最初に、useradd、passswdを使用してターミナルでユーザーを作成し、図に示すようにパスワードをubuntuに設定します:

次に、シャドウ ファイルに移動し、暗号化されたパスワードをコピーし、次のパペット コードを使用してユーザーを作成します:

リーリー bash スクリプトを作成し、expect および passwd コマンドを使用して新しいユーザーのパスワードを設定します

passwd コマンドは標準入力から直接パスワードを受け取るため、passwd ubuntu ubuntu、したがって、回避策は、bash シェルを自分で作成することです (set_passwd.sh という名前であると仮定します)。このシェル スクリプトはコマンド ラインからプレーンテキストのパスワードを受け取り、expect を使用してそれを passwd コマンドに送信します
。 このようにして、Puppet スクリプトは次のようになります:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート