projadd - システム上の新規プロジェクトの管理
projadd [-n] [-f filename] [-p projid [-o]] [-c comment] [-U user [,user]... ] [-G group [,group]... ] [ [-K name [=value [,value]...]...]] project
projadd は、/etc/project ファイルに新しいプロジェクトエントリを追加します。ファイルバックエンドがプロジェクトデータベースに使用されている場合、新しいプロジェクトは projadd コマンドの完了後ただちに使用可能になります。
サポートしているオプションは、次のとおりです。
プロジェクトコメントを追加します。コメントは、/etc/project ファイル内のプロジェクトのエントリに格納されます。通常、コメントはプロジェクトの簡単な説明を含み、プロジェクトの完全な名前を示すフィールドとして使用されます。
comment をテキスト文字列で指定します。comment にコロン (:) または復帰改行を含めることはできません。
変更するプロジェクトファイルを指定します。filename が指定されていない場合、システムプロジェクトファイル /etc/project が変更されます。
プロジェクトのグループリストを指定します。
プロジェクトの属性リストを指定します。複数の –K オプションを指定すると、たとえば次のように、複数のキーの値を設定できます。
-K key1=value1 -K "key2=(value2a),(value2b)"
リソース制御属性では、キーの値の指定に括弧が使用されます。括弧は多くのユーザーシェルで特殊文字として解釈されるため、括弧を含んでいる –K の引数は、上記の例および後述の「使用例」のように二重引用符で囲むのが最善です。プロジェクトに指定できるリソース制御については、resource-controls(7) を参照してください。
構文検査。既存のシステムプロジェクトファイルおよび変更についてのみ、形式を検査します。プロジェクト属性で指定されているユーザー名、グループ名、リソースなど、既存のプロジェクトファイルの内容は検査されません。
このオプションを使用すると、–p オプションで指定されたプロジェクト ID はプロジェクトファイル内で重複が許されます。
新しいプロジェクトのプロジェクト ID を設定します。
limits.h で定義されている UID_MAX より小さく、かつ負でない 10 進整数で projid を指定します。projid のデフォルトは、現在割り当てられている最大の値の次に大きい使用可能な一意の値です。たとえば、projid 100、105、および 200 が割り当てられている場合、次のデフォルトの projid は 201 になります。0 - 99 の projid は Oracle Solaris で予約されています。
プロジェクトのユーザーリストを指定します。
次のオペランドがサポートされています。
作成するプロジェクトの名前。project オペランドは、英字、数字、下線 (_)、およびハイフン (-) のセットに含まれる文字から成る文字列です。ピリオド (.) は、オペレーティングシステムに対して特殊な意味を持つプロジェクト用に予約されています。プロジェクト名の最初の文字は英字でなければなりません。これらの要件が満たされていない場合は、エラーメッセージが表示されます。
次のコマンドは、プロジェクト salesaudit を作成し、–K オプションの引数として指定されたリソース制御を設定します。
projadd -p 111 -G sales,finance -c "Auditing Project" \ -K "rcap.max-rss=10GB" \ -K "process.max-file-size=(priv,50MB,deny)" \ -K "task.max-lwps=(priv,100,deny)" salesaudit
このコマンドによって、/etc/project に次のエントリが生成されます。
salesaudit:111:Auditing Project::sales,finance: \ process.max-file-size=(priv,52428800,deny); \ rcap.max-rss=10737418240;task.max-lwps=(priv,100,deny)
上記は、/etc/project には 1 行で表示されます。
この projadd コマンドと、/etc/project に結果として生成された出力を比較して、リソース上限 (rcap.max-rss=10GB) およびリソース制御 (process.max-file-size=(priv,50MB,deny)) の倍率の効果に注目してください。B、KB、MB などの修飾子と倍率は、resource-controls(7) に指定されています。
次の終了ステータスが返されます。
正常終了。
コマンド構文が無効でした。projadd の使用法に関するメッセージが表示されます。
オプションに無効な引数が指定されました。
–p オプションで指定された projid はすでに使用されています。
プロジェクトファイルにエラーがあります。project(5) を参照してください。
追加するプロジェクト、グループ、ユーザー、またはリソースが存在しません。
プロジェクトはすでに使用されています。
/etc/project ファイルを更新できません。
システムプロジェクトファイル
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
この呼び出しは開発中です。人間が読める形式の出力は不安定 (Unstable) です。
projects(1)、project(5)、attributes(7)、resource-controls(7)、groupadd(8)、groupdel(8)、groupmod(8)、grpck(8)、projdel(8)、projmod(8)、useradd(8)、userdel(8)、usermod(8)
エラーが発生した場合、projadd はエラーメッセージを出力し、ゼロ以外のステータスで終了します。
projadd は、ローカルシステムだけにプロジェクト定義を追加します。NIS や LDAP などのネットワークネームサービスを使用してローカルの /etc/project ファイルに追加エントリが補完されている場合、ネットワークネームサービスによって指定された情報は projadd では変更できません。