web-dev-qa-db-ja.com

グループパスワードの一般的な使用例

私は半世紀以上に渡るUnixの経験をチェックしましたが、私の同僚も私もグループ(sggpasswd)にパスワードを設定したことがありません。グループパスワードの典型的な使用例は何でしょうか、それとも歴史的な理由から、それはほとんどそこだけにありますか?

36
jippie

私もこの機能が使用されたのを一度も一度も見たことがありません。ほとんどのSAは、この機能が存在することすら認識していません。 gpasswdのmanページを見ると、次のようなメモがありました。

グループパスワードに関する注意

  Group passwords are an inherent security problem since more than one 
  person is permitted to know the password. However, groups are a useful 
  tool for permitting co-operation between different users.

なぜ存在するのか

ユーザーのパスワードのモデルを模倣するのは自然なアイデアだったと思います。そのユースケースモデルをグループにも複製することは理にかなっていると思います。しかし、実際には、それらは実際には何の役にも立ちません。

グループパスワードの考え方は、特定のグループ(メンバーとしてリストされていないグループ)にアクセスする必要がある場合は、newgrpコマンドを使用してアクセスすることができ、チャレンジを受けることができるということです。これらの代替グループにアクセスするためのパスワードを使用します。

それらの大きな問題は、各グループに単一のパスワードしかないため、複数のユーザーがこの特定のグループへのアクセスを必要とする場合に、人々にこの単一のパスワードを共有することを強いることです。

団体

私が遭遇したほとんどの環境では、通常、ユーザーをセカンダリグループに配置し、これらのグループにファイルシステム上のファイルへのアクセス権を付与しています。

須藤

Sudoの登場により、必要に応じて追加の権限をグループに渡すことができるようになり、グループのパスワードが提供していた使用例がさらに損なわれる可能性があります。ユーザーにさらに多くの権限を許可する必要がある場合は、Sudoにロールを作成し、ユーザーが所属するユーザー名またはグループと、特定のタスクを実行できるように権限を昇格する権限を許可する方がはるかに簡単でした。

ACL

最後に、アクセス制御リスト(ACL)を作成する機能は、ユーザー/グループ/その他のアクセス許可モデルだけでは提供できない柔軟性の最後のビットを実際に提供し、グループパスワードの必要性を曖昧に追いやっていました。

29
slm

ログが私のアカウントがブルートフォースにされている(または辞書攻撃であった可能性がある)ことを示しているので、ここにグループパスワードの実用的な使用方法を示します。
私はssh-keygenputtygenを丁寧に使用して、ワークステーションと自宅のコンピューターから使用するためのキーペアを生成しました。自宅で使用するキーにはパスワードが必要です。私は両方の公開鍵を.ssh/authorized_keysに追加し、パスワードなしでメンバーmarionetteを作成しました。 rootとしてvisudoを使用して、次の行を追加しました。

Cmnd_Alias      SUDOING = /bin/bash, /usr/bin/Sudo -i
%marionette     ALL=NOPASSWD:SUDOING

私は私のアカウントのパスワードを無効にしました、あなたは誰もその方法でそれにログインすることができません。私は自分のキーでのみログインし、newgrp marionetteでパスワードで保護されたグループを入力すると、Sudo -iを使用してrootになることができます。
NOPASSWD:オプションなしでは、ユーザーアカウントパスワードが必要になります。無効になっていて、このグループにNOPASSWDがない場合、Sudo -iを実行できません。コマンドリストに/bin/bashまたはデフォルトでrootが使用しているシェルがない場合は、ユーザーアカウントパスワードも必要です。

これにより、sudoを実行するためのパスが数ステップ長くなりますが、セキュリティが強化されます。すべてのアカウントをこのようにする場合は、パスワードとSudo権限を持つローカルアカウントを1つ作成しますが、/etc/ssh/sshd_configからのsshエントリを拒否するには、次のように追加します。

DenyUsers root caan
DenyGroups root daleks

これは、再インストールしてアクセスキーのバックアップを忘れた場合のローカルアクセスに必要です。

11
coladict

そのパスワードの使用例も見たことがありません。そして、それは* nixの約20年の経験です。

頭に浮かぶのは、「!」に設定することだけです。 -ロックされているため、そのグループのメンバーでないユーザーはnewgrpコマンドを使用してグループに変更できません。

SLESの/ etc/groupまたはRedHatベースのシステムの/ etc/gshadowを調べると、これは「典型的な」使用例のようです。 SLESは、そのパスワードのシャドウメカニズムを作成することさえしませんでした。

1
Nils

ユースケースを提案させてください。

まず、「ユーザー」という言葉に慣れすぎて、考えもしなかったとしましょう。しかし、「ユーザー」は実際にはuserではありません。たとえば、家には3台のコンピューターがあります。妻のラップトップ、私のラップトップ、および一般的なデスクトップコンピューターです。私は妻のラップトップを使用するとき、彼女のユーザーアカウントでログインします。彼女が私のラップトップを使用するとき、彼女は私のユーザーアカウントでログインします。誰かがデスクトップを必要とする場合、彼または彼女は1つの共通アカウントを使用します。ここで、コンピュータシステムが「ユーザー」と呼ぶものは、実際にはuserではなく、workflow-一連のアクティビティ。

ここに質問があります:なぜ私は複数のアクティビティを持つことができないのですか?できます。現在のタスクに集中できるように、仕事用のコンピューターでさまざまなユーザーを(実験的に)作成しました。これらのすべてのユーザーを同じグループに入れて、現在使用しているユーザーに関係なくファイルにアクセスできるようにしました。

では、gpasswdはこれにどこに適合するのでしょうか。

Ubuntuのデフォルトの動作では、すべてのユーザーに対して特別なグループを作成します。

これらのプライマリグループをusersと見なし、システムユーザーをワークフロー

これらの新しいユーザーがログインするにはパスワードが必要になるよりも、そうですか?ここがgpasswdの場所です。私はまだグループでログインする方法を理解する必要があります(この時点までに知っていることは、すでにログインしている場合はgpasswdでグループを切り替えることができるということです)。

0
Raicho Nikolov