Linuxのデフォルトのグループとユーザーの背後にある理由


14

いくつかの通常のLinuxディストリビューション(それぞれArchLinuxとDebian)でのデフォルトのユーザーとグループの管理を見ていると、それとデフォルトのセットアップと構成を変更した結果について2つのことを考えています。

デフォルト値USERGROUPS_ENABでは、/etc/login.defsによって反射され、「はい」のようだ「デフォルトでは、グループはまた、新しいユーザーのために作成されます」で見つけることができるuseradd新しいユーザーが作成されるたびので、男、Aグループは同じ名前で作成され、この新しいユーザーのみが含まれます。それを使用するのか、それとも単なるプレースホルダーですか?

これにより、ユーザー/グループ/その他のユーザーとしての権利管理の一部が失われているように感じます。「users」または「regulars」というグループや、自分の名前ではなく、すべてのユーザーのデフォルトグループであるものを呼び出すのは悪いことでしょうか。

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

私はそれらを削除することを考えていますが、それを使用する可能性のあるものを壊したくはありませんが、私はそれを行うものを見たことがなく、何ができるのか分かりません。ユーザーが所属するのを見たことがないデフォルトグループ(tty、memなど)についても同様です。


時間をくれたら、いい答えをあげましょう。私はただ遅いタイプラーです。30分以上かかる場合があります。
eyoung100 14

これらすべてのグループの主なポイントは、set-group-idプログラムです。
バーマー14

2
最初の質問は非常に近い、この1
レイアス14

@ECarterYoung:もちろん、時間をかけることができます、ありがとうございます!
Horgix 14

@Leiaz:それに気づきましたが、「グループ「users」または「regulars」、または自分の名前ではなく、すべてのユーザーのデフォルトグループと呼ぶものを持っているのは悪いでしょうか?」一部であり、以前のものを導入として保持しました。私は主にStackOverflowに投稿しましたが、ここで指示されました。
Horgix 14

回答:


13

ユーザーごとのグループ

私も、ユーザーごとのグループには多くのユーティリティがありません。主な使用例は、ユーザーがファイルへの「友達」アクセスを許可したい場合、友達ユーザーをグループに追加することができます。実際にこれを使用するシステムはほとんどありません。

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

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

それらのほとんどは歴史的な理由から生まれましたが、多くは今日でも有効な用途があります:

  • diskは、ほとんどのディスクドライブデバイスを所有するグループです
  • lpはパラレルポートを所有しています(また、cupsの管理者権限用に構成されている場合もあります)
  • uucpは多くの場合、シリアルポート(USBシリアルポートを含む)を所有しています
  • cdromは、cdドライブに特権をマウントするために必要です
  • 一部のシステムでは、sudo権限にwheelを使用しています。一部ではない

他のグループはバックグラウンドスクリプトによって使用されます。たとえば、man実行時に一時ファイルなどを生成します。そのプロセスは、それらのファイルのいくつかにmanグループを使用し、通常はそれ以降をクリーンアップします。


よると、Linuxの標準ベースコア仕様しかし、根、ビンやデーモンのみ3つのユーザーは絶対に必須です根拠他のグループの背後には、次のとおりです。

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

したがって、これらのグループを適切に保持する方が良いように見えます。イッツtheoricallyいくつかのために、「神秘的」なものではなく、作業右に始めるかもしれないが、破損することなく、それらを除去することができる(あなたは、などをそのグループを殺した場合など、いくつかのmanページをレンダリングしません)。それらをそこに残しても害はありません。また、すべてのLinuxシステムがそれらを持っていると一般に想定されています。


一時ファイルを生成する人についての詳細はどこで見つけることができますか?manページを開いた状態ps aux | grep manでは、manグループの下で実行されているプロセスfind -group man /は表示されず、a も表示されません。標準のArchlinuxインストールでman 2.6.7.1で試しました。
Horgix 14

4

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

こんにちは、ecyoungです。あなたはhorgixです。毎日仕事に行き、プログラマーと同じLinuxサーバーにログインします。ある日、私たちのシステム管理者はある日、ユーザーの作成と保守を自分で簡単にすることに決めたため、USERGROUPS_ENABオプションをオフにして、既存のすべてのユーザーを新しいusersグループに入れました。


これにより、ユーザーの作成は簡単になりましたが、すべてのユーザーが他のすべてのユーザーファイルにアクセスできるため、保守はわかりません。企業環境では、Sarbanes OxleySegregation of Dutiesのようなものがあるため、これは大きな問題ではありません。ファイルAを作成すると、グループビットはユーザーグループに設定されます。これは、すべてのユーザーが少なくともファイルAを読み取ることができることを意味します。 SoD。これは、部門が分かれていても、他の人のドキュメントをほとんど書くことができないためです。


ユーザー/グループを有効にして、ecyoungとしてドキュメントを作成すると、rwx権限のみが付与されます。私のグループには誰もいないので、ドキュメントを開くと、警告のある空白のページが表示されます。これにより、Sarbanes-OxleyおよびSoDが実施されます。私が他のユーザーを招待すると、それらのユーザーはrwアクセスを許可されます。そうすることで、彼らが見るものが私や彼らに噛み付くように戻らないことを知っています。他の人が言ったように、家にいる場合、その分離はあなたにとって重要ではないかもしれません。それを決定したら、安全にオプションをオフにでき、すべてのユーザーがusersGIDが100のグループに追加されます。以下の質問2を参照してください。

仮説
あなたはIT部門で働き、ルイは給与部門で働いています。Louisは彼女のホームディレクトリにTaxおよびpayrollシートを保持していますが、あなたは両方ともユーザーグループに属しているので、ユーザーに対して+ rとマークされているため、彼女のホームディレクトリを開いてスプレッドシートを見つけます。JoeとFredとともに、給与額が一覧表示されます。ジョーとフレッドは彼らの給料を知ってほしいと思いますか?


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

グループIDとユーザーID 0〜500は、システムアカウントとデバイスアクセス用に予約されています。標準アカウントのリストについては、事前構成済みシステムグループの表を参照してください。これらのアカウントを手動で削除しないでください。たとえば、ユーザーftpを削除する場合は、パッケージ管理システムでftpデーモンを削除します。これを行うと、システムアカウントも削除されます。システムサービスには次のものが含まれますが、これらに限定されません。

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

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


5
仮説的ですが、失敗です。1.通常、デフォルトのアクセス許可は022でマスクされています。これは、他のユーザーが読み取りアクセス権を持っていることを意味します。2. sysadは怠zyであるだけでなく、部門に応じてグループを作成し、すべてのグループに割り当てるのではなく、アカウント作成時に正しいグループを割り当てる必要があるため、無能です。USERGROUPS_ENABその後、オフになったままにしてください。USERGROUPS_ENAB!=を無効にすると、すべてのユーザーが同じグループに配置されます。
ムル14

最初の部分は@ECarterYound:アクセス保護の意味を確認し、間違っている場合は修正しますが、usersグループのすべてのユーザーがグループの適切な権利管理で問題になることはありません、それは厳密に同じではありません所有者よりもグループの権利。USERGROUPS_ENABオンにした唯一の良い点は、ファイルとディレクトリを作成するときにデフォルトの権限を保持しながら、他のユーザーのアクセスを制限できるため、メンテナンスが簡単になることです。
Horgix

それは正しいでしょうが、多くの人はホームユーザーである場合、グループを正しく管理しません。確かにこれを確認することはできませんが、権限管理を強化するためにメンテナーがオプションを作成したと思います。
eyoung100 14

3

昔のように全員がデフォルトグループを共有する場合、umaskを077に設定してグループをブロックする必要があります。デフォルトがmeの場合、umaskを027に設定できます。ファイルのディレクトリを共有グループに設定すると、このグループは読み取り可能になります。私もモードを台無しにする必要はありません。

これはほんの一例ですが、一般的には、グループを有効にして管理しやすくするために、必要になるまでグループを無効にする方法です。


1

ユーザーごとのグループを使用すると、「ホームディレクトリのプライバシー」と「共有フォルダーでの簡単なコラボレーション」の両方を使用できます。ユーザーごとのグループがなければ、両方ではなくいずれかを使用できます。詳細は次のとおりです。

Unixは、会社のファイルサーバーでも2人のユーザーがいるPCでも、マルチユーザーシステムです。「ホームディレクトリのプライバシー」は、いくつかの方法で実現できます。

「umask 077」を設定すると、ファイルはrwで作成され、他のユーザーには許可されません。または、027または022を使用して、ファイルの一部またはすべてが読み取り可能ですが書き込みはできないようにします。明らかな欠点は、共有フォルダーで共同作業ができないことです。これは、他のユーザーが厳しいアクセス許可のためにそこに作成したファイルを操作できないためです。このようなファイルのアクセス許可を変更することもできますが、それは「作業が多すぎる」ため忘れられがちです。

コラボレーションするには、「umask 7」のようなものが必要です。これにより、あなたと所有グループの両方が、作成したファイルを読み書きできます。これは、共有アクセスを必要とするすべての人々で構成される共有フォルダーおよびグループに最適です。しかし、あなたはあなたのホームフォルダのプライバシーを失います!

ユーザーごとのグループが解決策です!umask 7を使用するので、作成するすべてのファイルは「rw for your、and rw for the group」を取得します。ホームディレクトリ内のファイルは、個人グループを「所有グループ」として作成されるため、「group rw」権限にもかかわらず他のユーザーはそれらのファイルにアクセスできません。その特定のグループにはあなた以外の誰もいないからです。

引き続き共有フォルダーで共同作業できます。共有フォルダー内のファイルは所有グループの「rw」を取得し、sysadminは共有フォルダーを設定して、共有グループ(共同作業者と呼ばれる)がそこのファイルのグループ所有者になるようにします。これは、すべての共同ユーザーをメンバーとして、この共同作業者グループを作成することによって行われます。次に、管理者は共有フォルダーのグループ所有権を「collaborators」に設定し、共有フォルダーのSETGID権限を設定します。SETGIDをオンにすると、共有フォルダーで作成されたものはすべて、共有フォルダーと同じグループ所有者、つまり「共同作業者」グループを取得します。また、umask 7(または2)を使用すると、このグループのすべてのユーザーが読み取りと書き込みのアクセス権を持つため、共同作業が可能になります。


0

もともと、Unixプロセスは一度に1つのグループに属していました(以前はchgrp(1)コマンドであり、の残留パスワードフィールドに保存されたグループパスワードを要求していました/etc/groups)。Plusシステムは、密接に結びついたユーザーグループによって使用されました。usersグループ内の全員をグループ化し、グループのアクセス許可によってシステム全体でスタッフを共有することは理にかなっています。本当のセキュリティ意識はなく、数十人ほどの仲間のユーザーはほとんど疑わない。すべてが同じマシン上でローカルでした。ブログなどで共有するネットワークはありません。

今日のUnixシステムには数百人のユーザーがおり、セキュリティ要件は厳しく、ユーザー(およびプロセス)は複数のグループに属することができます。(より無知な)各ユーザーにホームグループを与え、共有のためにそこから離れることを許可します。または、ACLを使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.