/etc/passwd ファイルはどのようにインスタンス化されますか?

/etc/passwd ファイルはどのようにインスタンス化されますか?

奇妙な質問ですが、魚が水について尋ねる質問のように思われます。

ファイルはどのように/etc/passwd生成されますか?初期の。

どこから来たのか

  • 私はLinuxシステム管理者であり、長年これをやってきました。
  • 私はUbuntuを使用していますが、どのディストリビューションでもこの質問を受けることができます。
  • /etc/passwdファイルが見つかりました。実際にはどのパッケージにも属していません

たとえば、これです。

# dpkg -S /etc/passwd
dpkg-query: no path found matching pattern /etc/passwd

この

# dpkg -L passwd | grep '/etc/passwd'

(結果がない)

このパッケージには利用可能なすべてのツールが含まれています/etc/passwd。ファイル自体ではありません。

インストールプロセス中にインストールメディアからこのファイルを作成することはありますか?

それとも、インストールメディアに埋もれている定型句ですか?

それとも別のものですか?

答え1

UbuntuとDebianの場合base-passwdパッケージはパッケージファイルを配布しないため、実行は機能しませんが、dpkg -Lプレインストールスクリプトからファイルを生成します。/var/lib/dpkg/info/base-passwd.preinst

私のRHELとCentOSの場合、そのパッケージrpm -qf /etc/passwdはファイルを「所有」するパッケージ、つまりsetupRPMパッケージを表示します。

答え2

最初からLinuxこのファイルを直接作成しましたか?ディストリビューションは、基本ファイルで始まり、インストール中に動的に選択したユーザーとサービスを追加すると想定します。彼らがあなたが従うことを望む唯一のルールは、ルートのuidとgidが0で、binの値が1であるということです。他のすべては任意のようです。

答え3

組み込みシステムの場合、buildroot/mkimage などで生成されます。

カスタム/コンパクトディストリビューションでは、管理者が作成します。

一部のデスクトップ/サーバーディストリビューションでは、Arch Linuxの「ファイルシステム」またはFedoraの「設定」などのパッケージを使用して作成されます。

UbuntuまたはDebianでは、プレインストールスクリプトの一部です。 base-passwd パッケージは update-passwd ユーティリティを提供します。

関連情報