Solaris のシステム管理 (第 1 巻)

大きなユーザー ID とグループ ID の使用

以前の Solaris ソフトウェアリリースは、32 ビットのデータ型を使用してユーザー ID (UID) とグループ (GID) を格納していました。ただし、UID と GID に使用できる最大値は 60000 に制限されていました。Solaris 2.5.1 リリースおよびその互換バージョンからは、UID と GID の値の制限は符号付き整数の最大値 (つまり、2147483647) に引き上げられました。

60000 を超える UID と GID は機能的に完全でなく、多くの Solaris の機能と互換性がありません。したがって、60000 を超える UID と GID を使用することは避けてください。Solaris 製品と Solaris コマンドとの相互運用性に関する詳細は、表 1-2 を参照してください。

表 1-2 に、Solaris および Solaris 製品の以前のリリースとの相互運用性に関する問題を説明します。

表 1-2 60000 を超える UID と GID の相互運用性に関する問題

分類 

製品またはコマンド 

問題または注意 

NFSTM 互換性

SunOS 4.0 NFS ソフトウェアおよびその互換バージョン 

NFS サーバーとクライアントのコードは、大きな UID と GID を 16 ビットに切り捨てる。これによって、大きな UID と GID を使用している環境において SunOS 4.0 およびその互換バージョンのシステムを使用すると、セキュリティの問題が発生する可能性がある。SunOS 4.0 およびその互換バージョンのシステムにはパッチが必要である。 

ネームサービスの相互運用性 

NIS ネームサービスおよびファイルベースのネームサービス 

60000 を超える UID を持つユーザーは、Solaris 2.5 およびその互換バージョンが動作しているシステムでは、ログインしたり、su コマンドを使用できるが、そのユーザーの UID と GID は 60001 (nobody) に設定される。

 

NIS+ ネームサービス 

60000 を超える UID を持つユーザーは、Solaris 2.5 およびその互換バージョンと NIS+ ネームサービスが動作しているシステムではアクセスが拒否される。 

UID と GID の表示 

OpenWindows のファイルマネージャ 

OpenWindowsTM のファイルマネージャを拡張ファイルリスト表示オプションで使用する場合、大きな UID と GID は正しく表示されない。

表 1-3 大きな UID と GID の制限の要約

UID と GID の値 

制限 

60003 以上 

  • この分類のユーザーが、Solaris 2.5 およびそれ以前の互換バージョンと NIS ネームサービスまたはファイルネームサービスが動作しているシステムにログインすると、nobody の UID および GID を取得する。

65535 以上 

  • NFS バージョン 2 ソフトウェアが動作している SunOS 4.0 およびその互換バージョンのシステムでは、この分類の UID は 16 ビットに切り捨てられる。その結果、セキュリティの問題が発生する場合がある。

  • この分類のユーザーが cpio コマンド (デフォルトのアーカイブフォーマットを使用する) を使用してファイルをコピーすると、ファイルごとにエラーメッセージが表示されて、UID と GID はアーカイブにおいて nobody に設定される。

  • SPARC システム: この分類のユーザーが SunOS 4.0 およびその互換バージョンで動作可能なアプリケーションを実行すると、一部のシステムコールから EOVERFLOW が戻されて、そのユーザーの UID と GID は nobody にマップされる。

  • x86 システム: この分類のユーザーが SVR3 互換のアプリケーションを実行すると、一部のシステムコールから EOVERFLOW が戻される場合がある。

  • x86 システム: この分類のユーザーが、マウントされた System V ファイルシステムでファイルまたはディレクトリを作成しようとした場合、System V ファイルシステムは EOVERFLOW エラーを戻す。

100000 以上 

  • ps -l コマンドは最大 5 桁の UID を表示する。したがって、99999 より大きな UID または GID を含むときは、出力される列が揃わない。

262144 以上 

  • この分類のユーザーが cpio コマンド (-H odc フォーマットを使用する) または pax -x cpio コマンドを使用してファイルをコピーすると、ファイルごとにエラーメッセージが戻されて、UID と GID はアーカイブにおいて nobody に設定される。

1000000 以上 

  • この分類のユーザーが ar コマンドを使用すると、そのユーザーの UID と GID はアーカイブにおいて nobody に設定される。

2097152 以上 

  • この分類のユーザーが tar コマンド、cpio -H ustar コマンド、または pax -x tar コマンドを使用すると、そのユーザーの UID と GID は nobody に設定される。