Solaris のシステム管理 (基本編)

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

UID とグループ ID (GID) には、符号付き整数の最大値 (つまり 2147483647) までの数値を割り当てることができます。

ただし、60000 より大きな数値の UID と GID は機能的に完全でなく、多くの Oracle Solaris の機能と互換性がありません。したがって、60000 を超える UID と GID は使わないようにしてください。

次の表では、Oracle Solaris 製品と以前のリリースとの相互運用性に関する問題について説明します。

表 4–4 60000 より大きな数値の UID または GID の相互運用性に関する問題

カテゴリ 

製品またはコマンド 

問題 

NFS 互換性 

SunOS 4.0 NFS ソフトウェアとその互換リリース 

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

ネームサービスの互換性 

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

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

 

NIS+ ネームサービス 

60000 より大きな数値の UID を持つユーザーは、Solaris 2.5 (およびその互換リリース) と NIS+ ネームサービスが動作しているシステムではアクセスが拒否されます。 

次の表に、UID と GUI の制限事項を示します。

表 4–5 大きな UID および GID の制限の要約

UID または GID の値 

制限 

60003 以上 

Solaris 2.5 (およびその互換リリース) と NIS ネームサービスまたはファイルネームサービスが動作しているシステムにログインしたユーザーは、nobody の UID および GID を取得します。

65535 以上 

  • Solaris 2.5 (およびその互換リリース) が NFS バージョン 2 ソフトウェアとともに動作しているシステムでは、UID が 16 ビットに切り捨てられるため、セキュリティー上の問題が発生する可能性があります。

  • ユーザーがデフォルトのアーカイブフォーマットで cpio コマンドを使用してファイルをコピーすると、ファイルごとにエラーメッセージが表示されます。そして、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 に設定されます。