ユーザーグループごと

ユーザーグループごと

いくつかの一般的なLinuxディストリビューション(それぞれArchLinuxとDebian)で基本的なユーザーとグループの管理を見て、これについて2つのことと、基本設定と構成を変更した結果について知りたいと思いました。

USERGROUPS_ENABinのデフォルト値は/etc/login.defs「yes」として表示されます。「デフォルトでは、新しいユーザーのグループも作成されます。」manで見つけることができるので、useradd新しいユーザーが作成されるたびに同じ名前のグループが作成され、そのグループには新しいユーザーのみが含まれます。これの目的は何ですか、それともこれは単なるプレースホルダーですか?

権利管理の一部が失われているようです。ユーザー/グループ/その他これにより。自分だけのグループを持つ代わりに、「ユーザー」または「よく使う」グループをすべてのユーザーの基本グループと呼びたいグループを持つことが悪くないでしょうか?

私の質問の2番目の部分はまだ私がArchとDebianで見たものに基づいています。多くのユーザーがデフォルトで作成されます(FTP、HTTPなど)。彼らはどんな目的を持っていますか、それとも歴史的な理由でのみ存在しますか?

私はそれらを削除しようとしていますが、それを使用できるものを壊したくありません。しかし、私はそのようなことを見たことがなく、何をすべきかわかりません。ユーザーが属するものを見たことのない基本グループ(tty、memなど)の場合も同様です。

答え1

ユーザーグループごと

また、各ユーザーグループのユーティリティはあまりありません。主なユースケースは、「友達」が自分のファイルにアクセスできるようにしたい場合は、友達ユーザーを自分のグループに追加できることです。私が遭遇したシステムのうち、実際にこのように使用するシステムはほとんどありません。

USERGROUPS_ENABinを/etc/login.defs「no」に設定すると、作成されたすべてのユーザーがこのフィールドuseraddで定義されているグループに追加されます。ほとんどのディストリビューションでは、これは通常グループのGIDに対応するように設定されています。これにより、ユーザーをより一般的に管理できます。その後、より詳細な制御が必要な場合は、これらのグループを手動で追加して意味のあるユーザーを追加できます。/etc/default/useraddGROUP100users

デフォルトで作成されたグループ

ほとんどは歴史的な理由で作られていますが、今日でもまだ有効な用途に使用されることがよくあります。

  • disk は、ディスクドライブデバイスが最も多いグループです。
  • lpはパラレルポートを所有します(時にはcupに対する管理者権限で構成されます)。
  • uucpにはしばしばシリアルポート(USBシリアルポートを含む)があります。
  • CD ドライブのインストール権限には CDROM が必要です。
  • 一部のシステムでは、sudo 権限にホイールを使用します。
  • など。

他のグループはバックグラウンドスクリプトで使用されます。たとえば、manランタイムは一時ファイルなどを生成します。これらのプロセスは man グループを使用してこれらのファイルの一部を処理し、通常はそれ自体をクリーンアップします。


~によるとLinux標準の基本コア仕様しかし、3人のユーザーroot、bin、およびdaemonだけが絶対に必須です。。これ理由他のグループは次のとおりです。

オプションのユーザーとグループを指定する目的は、アプリケーションとデプロイメント間の名前の競合の可能性を減らすことです。

したがって、これらのグループを維持するのが最善です。それ理論的に一部の「不思議な」操作は正しく機能しない可能性があります(たとえば、グループを終了すると一部のマニュアルページがレンダリングされない)、壊れずに削除できます。そこに置いても何の害もなく、通常、すべてのLinuxシステムがそれを持つと仮定します。

答え2

質問1:同じユーザーとグループの推論

こんにちは、私はecyoungで、あなたはhorgixです。私たちは毎日出勤し、プログラマーと同じLinuxサーバーにログインします。しばらく前に、私たちのシステム管理者は、ユーザーを簡単に作成して維持することにしましUSERGROUPS_ENABusers


これにより、ユーザーの作成が簡単になりますが、すべてのユーザーが他のすべてのユーザーファイルにアクセスできるため、メンテナンスが困難です。企業環境ではこれだ。大きなダメダメそんなことからサベインオックスリー法そして職務の分離。ファイルAを生成すると、グループビットがユーザグループに設定される。これは、すべてのユーザーが少なくともファイルAを読み取ることができることを意味します。システム管理者が怠惰な場合、特定の状況では、すべてのユーザーがファイルAをRWできます。他の部門では、他の人の文書を作成することはもちろん、他の人の文書を読むこともできないため、Sarbanes OxleyとSoDを崩します。


ユーザー/グループがアクティブな状態でecyoungで文書を作成すると、その文書に対するrwx権限は私にのみ付与されます。私のグループには誰もいないので、私の文書を開くと、警告を含む空白のページが表示されます。これはSarbanes-OxleyとSoDを実施します。私が他のユーザーを招待すると、そのユーザーには読み書きアクセスが許可されます。他の人が言ったように、あなたが家にいる場合、この分離はあなたにとって重要ではないかもしれません。これを確認すると、このオプションを安全にオフにでき、すべてのユーザーがusersGID 100を使用してグループに追加されます。以下の質問2を参照してください。

想像
あなたはIT部門で働き、ルイは給与部門で働いています。 Louisは自分のホームディレクトリに税金と給与を保持しますが、両方ともユーザーグループにあるため、Louisのホームディレクトリを開き(ユーザーの+ rでマークされている)、Louisのスプレッドシートを見つけます。ジョーとフレッドの給与額と一緒にあなたの給与額がリストされています。ジョーとフレッドは自分の給与を知りたいと思いますか?


質問2:グループID 0〜500

グループIDとは対照的に、ユーザーID 0 - 500はシステムアカウントとデバイスアクセス用に予約されています。より事前設定されたシステムグループテーブル標準アカウントのリストを表示します。これらのアカウントを手動で削除しないでください。たとえば、ユーザー ftp を削除するには、パッケージ管理システムを使用して ftp デーモンを削除します。これにより、システムアカウントも削除されます。システムサービスには以下が含まれますが、これらに限定されません。

  • CUPS印刷サービス
  • MySQLサーバーデーモン
  • FTPサーバーデーモン
  • Apac Webサーバー
  • リモート接続用のXサーバーソケット
  • ALSAサウンドシステムデーモン
  • DBUSサービス

他のサービスもありますので、上記のサービスリストに他の読者が追加または削除したい場合は、そうしてください。

答え3

以前と同様に、すべてのデフォルトグループを共有している場合は、そのグループをブロックするにはumaskを077に設定する必要があります。デフォルトがmeの場合、umaskを027に設定でき、ディレクトリまたはファイルを共有グループに設定すると、グループから読み取ることができます。パターンを台無しにする必要もありません。

これは単なる例ですが、通常必要になるまでグループを無効にして、グループをより簡単に開いて管理する方法です。

答え4

chgrp(1)もともとUnixプロセスは一度に1つのグループにしか属していませんでした(以前は、残りのパスワードフィールドに保存されているグループパスワードを要求するコマンドがありました)/etc/groups。 Plusシステムは、緊密なユーザーグループによって使用されます。すべての人をusersグループに整理し、グループ権限を使用してシステム全体でコンテンツを共有することが合理的です。他の12人のユーザーは、セキュリティに対する実質的な感覚がなく、疑いもほとんどありませんでした。すべてが同じシステム上でローカルです。ブログなどを通じて情報を共有できるネットワークはありません。

今日のUnixシステムには何百人ものユーザーがいて、セキュリティ要件はさらに厳しく、ユーザー(およびプロセス)は複数のグループに属することができます。各(より無知な)ユーザーにホームグループを提供し、ホームグループ外で共有を許可します。またはACLを使用してください。

関連情報