一連の匿名UIDを維持します。 /etc/subuid

一連の匿名UIDを維持します。 /etc/subuid

setuid-rootツールを使用するには、さまざまなuid(数千個など)が必要です。そのような範囲を登録するプロトコルがありますか、それとも範囲を選択し、他のプログラムがそのuidを使用しないことを望みますか?

(これで混乱を起こしたくありません/etc/passwd。)

私は/etc/subuid(文書に記録されている他の人と一緒に)https://www.mankier.com/8/usermod)そして同様のことをするようです。正確には何ですか/etc/subuid?これを使って私のsetuidツールの範囲を登録できますか?

/etc/subuidこれは、ある種のuidマッピングのためにdockerで使用されているようです。自分のアプリケーション用に新しいユーザーを作成する場合は、/etc/subuid以下のサブスコープを予約してください。いいえこれをdockerで使用すると、私がuid範囲を予約したことをシステムの残りの部分に知らせる良い方法ですか?

ベストアンサー1

ハッキングがあり、これを行う方法があります。正しい

ハッキングは、維持するUIDがととの間にあるようにとをUID_MIN上げることGID_MINです。 GID(存在する場合)はとの間にあります。これにより、一般ツール(、など)は、強制的に使用しない限り(新しいUIDおよび/またはGIDを明示的に指定して)、新しいユーザーアカウントにそれを使用しません。この新しい間隔範囲の既存の UID を .. 範囲に、GID を .. 範囲に再マップして、ツールが通常のユーザー アカウントとして処理できるようにする必要があります。/etc/login.defsSYS_UID_MAXUID_MINSYS_GID_MAXGID_MINuseraddadduserusermodUID_MINUID_MAXGID_MINGID_MAX

正しい方法はまた構成国家安全保障局(通常PAM)ツールが混乱しないようにスケジュールされたユーザーを確認してください。

最も簡単な方法は、libnss-extrausersNSSモジュールとpam_extrausersPAMモジュールを使用することです。これにより、これらの特別なユーザーを/var/lib/extrausers/passwd(暗号化されていない項目も含む/var/lib/extrausers/shadow)に入れることができ、オプションでグループ情報を配置できます/var/lib/extrausers/groups。これらのモジュールは、すべての一般的なLinuxディストリビューションで利用可能です。

これらのユーザーをNSS / PAMに追加した場合は、予防措置としてスケジュールされたユーザーを拡張して上書きすることがSYS_UID_MAXできます。ご存知のように、どのツールが..ユーザーのみをリストしているのか、それともユーザーだけをリストしてSYS_GID_MAXいるのかを確認していません.除外する必要があります。多くのプログラマーは、これら2つのセットが相互補完的であると誤って信じているようです。したがって、予約されたUID / GIDをシステムアカウントとして扱うのはおそらく最も安全な選択です。UID_MINUID_MAXSYS_UID_MINSYS_UID_MAX

おすすめ記事