一般的なLinuxシステムには、システムの実際のユーザーアカウントだけでなく、さまざまなシステムアカウントもあります。
/etc/passwd
アカウントを定義できるファイル(デーモンなど)やその他のリソースはありますか?
アカウントがサービスアカウントに偽装される可能性があるという話を聞き、自分のコンピュータで同様のアカウントを見つけようとします。
ベストアンサー1
デーモンユーザーは、実際のユーザーと同じファイルにリストされます。 「/etc/passwd
デーモンに似たファイル」は/etc/passwd
。
人間とシステムユーザーの間に正式な定義はありません。カーネルは気にしません(UID 0を持つユーザーに多くの権限を与えることに加えて)。ほとんどの管理コマンドも問題ありません。いくつかの一般的な違いは次のとおりです。
- 人間のユーザーは「ジョン・ドー」のような実際の名前を持ち、システム・ユーザーは「ナサル・デーモン」のような説明的な名前を持っているか、まったく持っていません。
- 人間のユーザーには、実際のログインシェル(またはまたは
/bin/sh
)があります。一部のシステムユーザーはシェルを持っていますが(ほとんど常に)、使用方法によっては他のシステムユーザーはそうではありません(シェルが必要です)。/bin/bash
/bin/csh
/bin/sh
su foo
foo
- 人間のユーザーは通常パスワードを持っていますが、必ずしもそうではありません。たとえば、リモートユーザーだけがSSHキーのみを持つことができます。最新の unice では、パスワードは
/etc/passwd
他のファイルにありません/etc/shadow
。 /home
人間のユーザーのホームディレクトリは通常(または一部のサイト固有の場所)にありますが、システムユーザーのホームディレクトリは通常、場所がないか存在しない可能性があります/home
(例外があります)。- ほとんどのサイトでは、システムユーザーのユーザーIDの範囲を指定し、人間のユーザーには別の範囲を指定します。通常、100–65533 または 500–65533 または 1000–65533 が予約されており、ほとんどのディストリビューションは 500 または 1000 から始まる実際のユーザー ID を割り当てるように設定されます。
複数のコンピュータがアカウントを共有するサイトには、通常、ユーザーのリストを含む中央サーバーがあります。国家庭園またはLDAP。passwd
アイテム/etc/nsswitch.conf
ユーザー情報を検索する場所を指定します。システムユーザーがローカルにあり、/etc/passwd
ネットワーク全体のデータベースに物理ユーザーがあることが一般的ですが、ネットワーク全体のデータベースにシステムユーザーがあり(一貫したUIDを強制し、サーバーとデータの複製を容易にするため)、人がいることがあります。ローカルファイルのユーザー(ネットワークがハングしてもログインしたまま)
システムユーザーとして偽装する人がアクセスできるアカウントには通常、実際の名前はありませんが、ログインシェル、パスワードセット、SSHキー、システム全体のユーザーIDがあります。実際、実際のシステムアカウントを使用する方が良い変装であり、そのアカウントを削除すると一部のサービスの動作が停止します。しかし、潜在的な攻撃を検出するために厳格で迅速なルールを持つことはできません。定義によると、攻撃者はルールに従わない。