次の例は、projadd コマンドを使用してプロジェクトエントリを追加し、projmod コマンドを使用してそのエントリを変更する方法を示します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
projects -l を使用して、システムのデフォルトの /etc/project ファイルを表示します。
# projects -l system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10::::system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: |
booksite という名前のプロジェクトを追加します。追加したプロジェクトを mark という名前のユーザーにプロジェクト ID 番号 4113 で割り当てます。
# projadd -U mark -p 4113 booksite |
再度 /etc/project ファイルを表示します。
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: booksite projid : 4113 comment: "" users : mark groups : (none) attribs: |
comment フィールドにプロジェクトを説明するコメントを追加します。
# projmod -c `Book Auction Project' booksite |
/etc/project ファイルに加えた変更を確認します。
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: booksite projid : 4113 comment: "Book Auction Project" users : mark groups : (none) attribs: |
プロジェクト、タスク、およびプロセスをプールに結合する方法については、「プール属性の設定とプールへの結合」を参照してください。
次の例は、projdel コマンドを使ってプロジェクトを削除する方法を示します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
projdel コマンドを使ってプロジェクト booksite を削除します。
# projdel booksite |
/etc/project ファイルを表示します。
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: |
ユーザー名 mark でログインして、projects と入力し、このユーザーに割り当てられているプロジェクトを表示します。
# su - mark # projects default |
編集オプションが指定されていない場合、projmod コマンドは project ファイルの内容を検証します。
NIS マップを検証するには、スーパーユーザーとして次のように入力します。
# ypcat project | projmod -f — |
ypcat project | projmod -f — コマンドはまだ実装されていません。
/etc/project ファイルの構文を検査するには、次のように入力します。
# projmod -n |
-p フラグを付けて id コマンドを使用し、起動中のプロセスの現在のプロジェクトメンバーシップを表示します。
$ id -p uid=100(mark) gid=1(other) projid=3(default) |
作成先となるプロジェクト booksite のメンバーとしてログインします。
booksite プロジェクト内に新しいタスクを作成します。 それには、システムのタスク ID を取得するための -v (冗長) オプションを指定して newtask コマンドを実行します。
machine% newtask -v -p booksite 16 |
newtask を実行すると、指定したプロジェクト内に新しいタスクが作成され、そのタスクにユーザーのデフォルトのシェルが置かれます。
起動中のプロセスの現在のプロジェクトメンバーシップを表示します。
machine% id -p uid=100(mark) gid=1(other) projid=4113(booksite) |
今度は、プロセスが新しいプロジェクトのメンバーになっています。
次の例は、実行中のプロセスを別のタスクと新しいプロジェクトに関連付ける方法を示します。この操作を実行するには、スーパーユーザーでなければなりません。または、プロセスの所有者で、かつ新しいプロジェクトのメンバーでなければなりません。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
プロセスの所有者または新しいプロジェクトのメンバーであれば、この手順は省略できます。
book_catalog プロセスのプロセス ID を取得します。
# pgrep book_catalog 8100 |
プロセス 8100 を、新しいタスク ID を使って booksite プロジェクトに関連付けます。
# newtask -v -p booksite -c 8100 17 |
-c オプションは、newtask が指定された既存のプロセスに対して動作することを指定します。
タスクとプロセス ID の対応を確認します。
# pgrep -T 17 8100 |