Puppet:UNIXユーザーとグループを作成および管理する方法


12

先週、私はすべての努力をPuppetの学習に費やしました。今、私は精神的なバッファオーバーフローと、この獣を飼い慣らすことができるという自信に苦しんでいます。多くの注釈付きの例に出くわしましたが、数え切れないほどのバリエーションがあるため、推奨される(最近の)Puppetスタイルと慣習、およびアドホックな "works for me"アプローチを区別できません。それは基本的なレベルのものに関するようだので、私はそれを我慢できません。

そう。Puppetを使用してグループとユーザーを管理します。ユーザーのプライマリグループは自分のユーザー名に等しく、他のグループはlanlanログイン、wheel管理者、shell任意のノードにシェルを持つmailユーザー、ユーザー、daemonsさまざまなデーモンに使用できます。管理者ログインはすべてのノードで行われ、事態を悪化させるために、lanログインはシェルログインにもなります。

私が理解していることから、ある時点で実現される仮想定義を利用する場合、ユーザーを複数回定義しても大丈夫です。ファブのように聞こえますが、それはユーザーの複数のグループでどのように機能しますか?BobがLANノードとノードbeastie.wanの両方を使用できるとしましょう。彼のログインthebobは、lanusers.ppとshellusers.ppで2回定義されgroups => ["lan"]ていgroups => ["shell"]ますか?Bobが自分のLANパスワードをシェルパスワードとは別にしたい場合はどうなりますか?

私が現在使用しているコードには仮想定義がありません。ユーザーはハードコーディングされた単一のインクルージョンです。ある時点で、virtuals使用し例に出くわしましたが、Puppetがプライマリグループと最初に定義した必要なグループを作成し、それらのグループのユーザーに参加するようにコードを拡張する方法がわからないため、ここで行き詰まりました。

正しい。きちんと手掛かりをしてください。

回答:


6

今、私は精神的なバッファオーバーフローと、この獣を飼い慣らすことができるという自信に苦しんでいます。

最初:リラックス。Puppetのような学習曲線のあるものに慣れていない場合、圧倒されて多くのことを成し遂げられないことが非常に簡単であることを学びました。

彼のログインthebobは、グループ=> ["lan"]のlanusers.ppとグループ=> ["shell"]のshellusers.ppで2回定義されていますか?

いや。を使用して、1つの場所(おそらくusers.pp)で仮想的に定義しgroups => ['shell', 'lan',]ます。

ノードで、必要なユーザーを認識します。たとえば、node beaminすべてのshellユーザーが必要な場合:

node beamin {
    Account <| groups == 'shell' |>
}

ボブが自分のlanパスワードをシェルパスワードとは別にしたい場合はどうなりますか?

その後、ボブはおそらく異なるログイン名を持つ2つの異なるアカウントを取得するはずです。


ありがとう。あなたは最初の部分について正しいです、私は圧倒されました。しかし、あなたの2番目の答えは助けになりました、それは他の思考を動かしているように見え、今では適切に機能するマニフェストを手に入れました。それを手伝ってくれてありがとう。:)
ドラムファイア

問題ない。仮想宣言の前に、この問題には非常に複雑なソリューションが含まれていました。Puppetエクスプレスに乗って来たのは幸運だと思います;-)。
ベルミンフェルナンデス

仮想宣言を使用していますが、一部のユーザーは一部のホストでは「sudo」グループに属し、他のホストではそうではないことが必要です。これはそのシナリオを解決しません(そして私は何をすべきかを考えるのに苦労しています:D)。
jjmontes

3

Puppetは、複雑なユーザー/グループ管理ではうまくいきません。LDAPのようなものをデプロイする方がはるかに良いでしょう。私が嫌いな限り、それはPuppetを打ち負かして提出するよりもずっとうまくいくでしょう。


またはFreeIPA。Puppetは、システム上に存在する必要があるが、通常のユーザーを管理しないサービスアカウントに
適してい

4
すべての敬意を持って(あなたがトップSFメンバーであるということで):これが質問に答えるとは思わない。Q:「PuppetでUNIXユーザーとグループを作成および管理するにはどうすればよいですか?」A:「LDAP」。このような回答はコメントとしてより適切だと思います。もちろん、これが以前にメタまたは何かで議論されていた場合、おそらく私は知らされていません。私を嫌わないでください:-)。
ベルミンフェルナンデス

3
@ BeamingMel-Bin:SFには「仕事に最適なツール」という強い精神があります。誰かが「このネジをハンマーで打って打つための最良の方法は何ですか?」と尋ねた場合、さまざまなハンマー技術の利点について長い論文を出さないで「ドライバーを購入する」と言います。これは、ほとんどの質問者が経験不足または無知であるため、より良いソリューションが存在することも、より良いソリューション存在する可能性があることも知らないためです(したがって、「 「このネジを締めるのに最適な方法は何ですか?」)。
ウォンブル

1
@drumfire:繰り返しますが、愚かなことをする方法を尋ねている場合、正しい答えは「それをしないでください」です。SFの仕組みです。私たちは人々が愚かなことをするのを助けるためにここにいるのではなく、より効果的なシステム管理者を作るためにここにいます。
ワンブル

3
元々の三部作の一部であるSFは、他のより均質なSEサイトよりもずっと長く、より強力な「独立精神」を持っています。考慮すべきユーザーの構成もあります。システム管理者は不機嫌で、熱心です。
ウォンブル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.