Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

pfksh (1)

名前

pfexec, pfbash, pfcsh, pfksh, pfsh, pftcsh, pfzsh, pfksh93 - プロファイル内のコマンドの実行

形式

/usr/bin/pfexec command
/usr/bin/pfbash [ options ] [ argument ]...
/usr/bin/pfcsh [ options ] [ argument ]...
/usr/bin/pfksh [ options ] [ argument ]...
/usr/bin/pfsh [ options ] [ argument ]...
/usr/bin/pftcsh [ options ] [ argument ]...
/usr/bin/pfzsh [ options ] [ argument ]...
/usr/bin/pfksh93 [ options ] [ argument ]...
/usr/bin/pfrksh93 [ options ] [ argument ]...
/usr/bin/pfrksh [ options ] [ argument ]...
/usr/sunos/bin/pfksh [ options ] [ argument ]...
/usr/xpg4/bin/pfsh [ options ] [ argument ]...
/usr/bin/pfexec -P privspec command [ arg ]...

説明

pfexec プログラムは PRIV_PFEXEC プロセスフラグを設定し、現プロセスをプロファイルシェルとしてマークします。次に、指定されたコマンドを実行します。カーネルは exec_attr(5) データベースに照会し、適切な属性を使用して実行します。

プロファイルは、user_attr(5) データベース内のユーザーのエントリと policy.conf(5) に指定された順序で検索されます。ユーザーごとに、認証されたセットと認証されていないセットという、プロファイルの 2 つのセットがあります。ユーザーは、認証されたプロファイルのセットに対応する exec_attr(5) データベース内のエントリに一致するコマンドを実行する前に、再認証する必要があります。このコマンドが端末から実行された場合、PAM スタック /etc/pam.d/pfexec 内の pam_tty_tickets(7) に対して設定されたタイムアウトオプションに従って、現在のユーザーと tty の認証状態がキャッシュされます。現在の tty は存在しないが、アクティブな X11 セッションが存在する場合、ユーザーは、zenity(1) ダイアログを通して認証するよう求められます。This authentication state is cached for the current user and DISPLAY environment setting.

Processes that have been successfully reauthenticated, including those that were implicitly authenticated within the timeout value of the cache, are marked with an additional process flag, PRIV_PFEXEC_AUTH, which exempts child processes from subsequent reauthentication.Both the PRIV_PFEXEC and PRIV_PFEXEC_AUTH flags are inherited by child processes unless the real uid is changed.

認証されていないプロファイルのセットに一致するコマンドは、再認証する必要はありませんが、認証されたプロファイルのセット内のコマンドに比べて優先順位が低くなります。同じコマンドが複数のプロファイルに存在する場合、プロファイルシェルは最初に一致したエントリを使用します。

2 番目の形式 pfexec –P privspec を使用すると、ユーザーは、prof_attr(5) 内のユーザーのプロファイルに与えられた追加の特権を取得できます。The privileges specification on the command line is parsed using priv_str_to_set(3C).その結果得られた特権と、該当ユーザーのすべてのプロファイルに対して prof_attr(5)privs キーワードで指定されている特権の和集合との間で、積集合をとった上で、その結果がコマンドの実行前に継承可能セットに追加されます。認証済み権利プロファイルから特権を取得できるのは、ユーザーがすでに正常に再認証されている場合のみです。

使用法

pfexec は、特定のユーザーまたはグループ ID など、定義済みのプロセス属性でコマンドを実行するために使用します。

Refer to the man pages for each shell for complete usage descriptions of the profile shells.

使用例 1 追加ユーザー特権の取得
example% pfexec -P all chown user file

このコマンドは、現在のユーザーに割り当てられているすべての特権 (必ずしもすべての特権であるとは限らない) で chown user file を実行します。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

1

エラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

bash(1), csh(1), ksh(1), ksh88(1), profiles(1), sh(1), tcsh(1), zsh(1), exec_attr(5), prof_attr(5), user_attr(5), attributes(7)

History

Support for authenticated profiles was added in Oracle Solaris 11.2.0.

The pfexec command was added in Solaris 8.