グループパスワードの一般的なユースケース

グループパスワードの一般的なユースケース

私は半世紀を超えるUnixの経験を確認しましたが、私の同僚や自分自身のグループ(sgおよびgpasswd)にパスワードを設定したことがありません。グループパスワードの一般的なユースケースは何ですか?それとも歴史的な理由で存在しますか?

答え1

また、この機能が使用されていることを一度も見たことがありません。ほとんどのSAは施設が存在するかどうかわかりません。マニュアルページを見ると、gpasswd次のようなメモがあります。

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

  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そのグループのパスワードを介してアクセスできることです。いくつかの群れ。

これらの大きな問題は、グループごとに1つのパスワードしかないため、複数の人が特定のグループにアクセスする必要があるときに人々がそのパスワードを共有する必要があることです。

グループ

私が遭遇したほとんどの環境は通常、人々をセカンダリグループに置き、そのグループにファイルシステム上のファイルへのアクセス権を与えます。これはほとんどすべてのユースケースで発生します。

Sudo

追加の権限の出現により、sudo必要に応じてグループに権限を付与できるため、グループパスワードが提供できるすべてのユースケースがさらに無効になります。ユーザーがより多くの権限を許可する必要がある場合は、役割を作成してから、sudoそのユーザーが属するユーザー名またはグループのみを許可し、特定の操作を実行できるようにその権限を昇格させる権限を許可する方が簡単です。

ACL

最後に、アクセス制御リスト(ACL)を生成する機能は、ユーザー/グループ/その他の権限モデルだけでは提供できない最後の柔軟性を提供するため、グループパスワードはまったく必要ありません。

答え2

ログには、自分のアカウントが無差別代入(または事前攻撃)を受けていることが示されているので、これは私のジョブサーバーで自分自身のために実装したグループパスワードを実際に使用することです。
私は自分のワークステーションと家庭用コンピュータで使用するために別々にキーペアを使用しssh-keygenて生成します。puttygen自宅で使用する鍵にはコードが必要です。 2つの公開鍵を追加して、.ssh/authorized_keysパスワードはあるがメンバーはいないグループを作成しました。marionette私はルートとしてvisudo次の行を追加しました。

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

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

これにより、sudoing パスが数ステップ長くなりますが、セキュリティが強化されます。このようなすべてのアカウントを作成することを選択した場合は、パスワードとsudo権限を持つローカルアカウントを作成しますが、以下を追加して/etc/ssh/sshd_configsshアクセスを拒否します。

DenyUsers root caan
DenyGroups root daleks

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

答え3

私もこのパスワードのユースケースを見たことがありません。約20年間の*nix経験です。

念頭に置いておくべき唯一のユースケースは、「!」に設定することです。つまり、誰も(グループのメンバーではない)newgrpコマンドを使用してグループを変更できないように設定します。

SLESの/ etc / groupまたはRedHatベースのシステムの/ etc / gshadowを見ると、これが「一般的な」ユースケースのようです。 SLESは、パスワードのためのシャドウメカニズムを生成することを気にしません。

答え4

ユースケースを提案します。

私たちは「ユーザー」という言葉に慣れすぎてそれについて考えてもしないという点から始めましょう。しかし、「ユーザー」は実際にはそうではありません。ユーザー。たとえば、家には、妻のラップトップ、私のラップトップ、一般的なデスクトップコンピュータなどの3台のコンピュータがあります。私は妻のラップトップを使用すると、妻のユーザーアカウントでログインします。彼女は私のラップトップを使用するときに私のユーザーアカウントを使用してログインします。デスクトップが必要な人はユニバーサルアカウントを使用します。ここでは、コンピュータシステムが「ユーザー」と呼ぶのは実際にはユーザーではないことがわかります。ユーザーしかし、一つ作業プロセス- 一連の活動。

問題はなぜ私が1つ以上の活動を持つことができないのですか?つまり、私が持っているすべての仕事のために一つずつ活動をすることができますか?私はできます。私の仕事コンピュータでは、(実験的に)現在の仕事に集中できるように、さまざまなユーザーを作成しました。現在どのユーザーを使用していても、自分のファイルにアクセスできるように、これらのすべてのユーザーを同じグループに配置します。

それでは、gpasswdはどのような役割を果たすのでしょうか?

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

当社がこれらの主要グループを以下のように取り扱うことを決定した場合ユーザーシステムユーザーを次のように扱います。作業プロセス

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

関連情報