Debianパッケージファイルの所有者に適したUIDとGIDは何ですか?

Debianパッケージファイルの所有者に適したUIDとGIDは何ですか?

私は現在私自身の適性リポジトリを構築しており、すべてのパッケージができるだけ多くのLintianチェックに合格していることを確認するプロセスにいます。現在、「無効なファイル所有者-uid-or-gid」の問題で問題が発生しています(初期メッセージここ、詳細情報ここ)、UIDとGIDに適した数字が何であるかわかりません。

現在、AWS Ubuntu システムでパッケージを構築しています。

$ id ubuntu
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),102(netdev)

これはマシンのデフォルトです。提供される最初のリンクは次のとおりです。

グローバルに割り当てられたIDの許可されたセットは、0から99、64000から64999、および65534の範囲で構成されています。

これらの範囲の 2 番目のリンクは、次のように説明します。

0-99:Debianプロジェクトによってグローバルに割り当てられ、すべてのDebianシステムで同じです。このIDはすべてのDebianシステムのpasswdファイルとグループファイルに表示され、この範囲の新しいIDはbase-passwdパッケージが更新されると自動的に追加されます。

静的に割り当てられた単一のuidまたはgidを必要とするパッケージは、これらのいずれかを使用する必要があります。管理者はbase-passwd管理者にIDを要求する必要があります。

60000-64999: Debian プロジェクトによってグローバルに割り当てられますが、リクエスト時にのみ作成されます。 IDは中央で静的に割り当てられますが、実際のアカウントは必要な場合にのみユーザーシステムに作成されます。

これらのIDは、あいまいなまたは静的に割り当てられたIDを必要とするパッケージに適しています。これらのパッケージは、必要に応じて/ etc / passwdまたは/ etc / groupでアカウントを確認して作成する必要があります(この機能が利用可能な場合はadduserを使用してください)。追加の割り当てを必要とする可能性のあるパッケージは、割り当て後に「穴」を残して成長するためのスペースを提供する必要があります。

65534:ユーザーがいません。対応する gid はグループ nogroup を表します。

Debian パッケージの Lintian チェックに準拠する方法を説明するのに役立つ人はいますか?ユーザーのUIDとGIDを変更するのと同じくらい簡単ですか?どのID番号を選択するのが最適ですか?

ベストアンサー1

特に他のUIDやGIDが必要な場合を除き、最も適切な値はそれぞれ0と0です。パッケージは、rootまたはroot権限を持つ人によってインストールされます。通常、他のユーザーやグループ(構成ファイルなど)がファイルを所有する必要がある特別な理由がない限り、ここに含まれるファイルはルートが所有する必要があります。私の考えでは、あなたがdebian/rules走っていないと思います。dh_fixperms:

dh_fixperms is a debhelper program that is responsible for setting the
permissions of files and directories in package build directories to a
sane state -- a state that complies with Debian policy.

dh_fixperms makes all files in usr/share/doc in the package build
directory (excluding files in the examples/ directory) be mode 644. It
also changes the permissions of all man pages to mode 644. It makes all
files be owned by root, and it removes group and other write permission
from all files.

おすすめ記事