これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド userv です。
プログラム:
NAME
ユーザーv — ユーザーサービスをリクエストする
SYNOPSIS
ユーザーv [オプション ...] [--] サービスユーザー サービス名 [引数 ...]
ユーザーv [オプション ...] -B | -組み込み [--] 組み込みサービス [情報引数 ...]
DESCRIPTION
ユーザーv 制限を維持しながら、異なるユーザーIDでタスクを実行するために使用されます
呼び出し元と呼び出し先の間の信頼。
サービスユーザー タスクを実行するユーザー アカウントを指定します。 ユーザーはログインの可能性があります
名前または数値の uid、または「-」を使用して、サービス ユーザーが
呼び出し中のユーザー。
サービス名は、サービス ユーザーに代わって userv デーモンによって解釈されます。 これは
サービスユーザーのファイルスペース内の構成ファイルによって制御されます。 ユーザーに相談してくださいv
詳細については仕様をご覧ください。
OPTIONS
XNUMX 文字のオプションは、Unix プログラムでは通常のように組み合わせることができ、そのような値は
オプションは、同じ引数または次の引数に表示される場合があります。
-B | -組み込み
組み込みサービスの提供を要求します。 これは、
- オーバーライド 'execute-builtin' で構成される文字列を指定するオプションが続きます
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 組み込みサービス 要求され、「-」のサービス ユーザーを要求しています
(呼び出し元のユーザーを示します)。
要求されている組み込みサービスが サービス引数 それからこれ
と同じ引数でクライアントに提供する必要があります。 組み込みサービス。 見る
の仕様、または出力
userv -B ヘルプ
利用可能な組み込みサービスの詳細については、以下の詳細については、
- オーバーライド オプション。
渡される実際のサービス名は 組み込みサービス; これに注意してください
実際のサービス名 (オーバーライド データではなく) と 情報引数s
提供されたものは、ほとんどの組み込みサービスによって無視されます。 オーバーライド機構と
「execute-builtin」は、適切な組み込みサービスが確実に実行されるようにするために使用されます。
権利で呼ばれる サービス引数s.
-f | - ファイル fd[fd修飾子]=ファイル名
パイプを使用してサービスの内外にデータをコピーするように要求します。 それぞれについて
ファイルまたは記述子これはパイプを作成することによって行われ、その一端は
サービスプログラムに渡され、もう一方の端はのコピーに渡されます
cat クライアントによって呼び出されます。 渡された他のファイル記述子 cat 一つになります
呼び出し元からクライアントプログラムによって継承されるか、クライアントによって開かれたもの
呼び出し元に代わってプログラムします。
接続するサービスプログラム内の記述子を指定する必要があります
as fd、XNUMX 進数、または文字列 'stdin'、'stdout' または
「標準エラー」。 次の引数は、クライアントによって開かれるファイル名です
呼び出し元ユーザーの権限で。
修飾子 ファイルまたは記述子を読み取るかどうかを指定するために使用されます
または書かれています。 コンマで区切られた一連の単語で構成されます。 コンマ
を分離することがあります 修飾子 fd 必要な場合 fd 数値ではありません。
修飾語は次のとおりです。
read O_RDONLY: 読み取りを許可し、書き込みは許可しません。 と一緒に使用できない場合があります
「書く」またはそれを意味するもの。
書きます O_WRONLY: 書き込みを許可し、読み取りを許可しない。 しない 切り詰める or
作ります 「切り捨て」または「作成」なし。 「書く」またはそのこと
「read」と一緒に使用できないことを意味します。
上書きする 「書き込み、作成、切り捨て」と同等。
作ります, クリート O_CREAT: 必要に応じてファイルを作成します。 「書く」という意味です。
排他的な, excl O_EXCL: ファイルが既に存在する場合は失敗します。 書き込みを意味し、
作成。 「truncate」と一緒に使用することはできません。
切り詰める, 切り捨てる O_TRUNC: 既存のファイルを切り捨てます。 「書く」という意味です。 XNUMX月
「排他的」では使用できません。
アペンド O_APPEND: すべての書き込みがファイルに追加されます。 「書く」ことを意味する
(ただし、「作成」ではありません)。
sync O_SYNC: 書き込みを同期的に行います。 「書く」という意味です。
wait , 待てない, 閉じる
これらの修飾子は、クライアントの動作を制御します。
サービスとの間でデータを運ぶパイプに関して、
サービス終了時。 下記参照。
fd 当学校区の ファイル名 ファイル名ではなく、数値のファイル記述子です。
「読み取り」と「書き込み」のいずれかまたは両方を指定する必要があります。
他の言葉は許されます。 の ファイル名 'stdin' の場合もあります。
ファイル記述子 0、1、または 2 の「stdout」または「stderr」
。
ない場合 修飾子 「読み取り」または「書き込み」が使用されていることを意味します。「書き込み」が使用されているかのようです
ただし、サービスのファイル記述子 0 が指定されている場合を除きます。
開かれた (数値または「stdin」で指定された) 場合は「上書き」のようです
が指定されていた (または、'fd' のみが指定された場合は 'write')。
クライアントは、呼び出し元によって指定されたファイルを開くときにも O_NOCTTY を使用します。
制御端末を変更しないでください。
デフォルトでは stdin, (Linuxで言うところのstdout) stderr サービスの
クライアント上の対応する記述子。 クライアントとデーモンからの診断
にも登場します stderr.
'wait' が指定されている場合、クライアントはパイプが閉じられるまで待機します。
これが起こった後に終了します。 これは、
送信側でデータがまだ利用可能である間にパイプ接続が閉じられた、または
ファイル記述子の読み取り時にファイルの終わりに達したこと。 エラー
この段階でクライアントで読み取りまたは書き込みが発生した場合は、
システム エラーが発生し、クライアントがステータス 255 で終了しますが、
サービスは既に終了しているため、サービス側で切断されます。
「close」が指定されている場合、クライアントはパイプ接続をすぐに閉じます。
関連するコピーを殺す cat. サービスが記述子を使用する場合、
書き込み記述子の SIGPIPE (または EPIPE) または読み取りのファイルの終わりを取得します。
XNUMX; クライアントによって開かれた、またはクライアントに渡された記述子も閉じられます。
「nowait」が指定されている場合、クライアントは待機せず、接続は
クライアントが終了した後も開いたままになります。 の間でデータが受け渡され続ける可能性があります。
サービス側の関連する記述子の継承者と
いずれかの側が閉じるまで、クライアント側の対応するファイルまたは記述子
それらの記述子。 通常、これは指定しないでください。 stderr (または (Linuxで言うところのstdout) if
「--signals stdout」が使用されます) サービス側からの診断が到着する可能性があるため
クライアントが終了した後、期待される出力と混同されます。
デフォルトは、ファイル記述子を書き込む場合は「wait」、読み取る場合は「close」です。
-w | --fdwait fd=アクション
指定されたファイル記述子のサービス終了時のアクションを設定します。
アクション 上記のように、'wait'、'nowait'、または 'close' でなければなりません。 ファイル
このオプションが検出された場合、記述子は open として指定する必要があります。 これ
オプションは後でオーバーライドされます - ファイル or --fdwait オプション - さえ - ファイル
これは、終了時のアクションを指定していません (この場合、デフォルトは
上で説明したように使用されます)。
-D | --defvar 名=値
ユーザー定義変数を設定する 名 〜へ 値. これらのユーザー定義変数は、
構成言語でパラメータ「u-」として使用できるようになります。名'そして、
環境変数 USERV_U_ でサービスに渡されます名. 名 含有することができます
英数字とアンダースコアのみで、先頭は文字にする必要があります。 複数の場合
同じものに対して定義が与えられています 名 その場合、最後のものだけが有効になります。
-t | - タイムアウト 秒
よりも時間がかかる場合は、サービスをタイムアウトします 秒 秒 (正の数)
整数、XNUMX 進数)。 タイムアウトにより、stderr で診断が生成され、終了します
255 のステータス。 秒 ゼロの場合、タイムアウトは実装されません (これは
デフォルト)。
-S | -信号 方法
が原因でサービスが終了したときの終了ステータスの処理に影響します。
信号。 (クライアントは常に呼び出しで終了します。 _出口()、したがって数字のみ
0 から 255 までが返される可能性があり、数値と信号の全範囲ではありません
によって返すことができる表示 wait () システムコールのファミリー。)
当学校区の 方法 次のいずれかになります。
status クライアントの終了ステータスは status. これはありません
実際に終了したサービスと区別できる
コード status。 このメソッドはデフォルトです。 status of
254.
数, 番号-コアなし
クライアントの終了ステータスはシグナルの番号になります
サービス終了の原因となった。 「数」が
'number-nocore' ではなく使用される場合、128 が追加されます。
サービスはコアをダンプしました。 「number」は終了コードによく似ています
Bourne シェルによって行われるマングリング。
ハイビット クライアントの終了ステータスは、シグナルの番号になります
128件追加されました。 サービスが終了コード: で正常に終了した場合
127 より大きい場合は 127 が返されます。
(Linuxで言うところのstdout) XNUMX つの XNUMX 進数としてのサービスの数値待機状況 (高
バイトが最初)、その意味のテキストによる説明は次のようになります。
クライアントの標準出力に出力されます。 先行されます
改行が続き、その後に追加の改行が続き、数字
相互に分離されており、テキストの説明からも分離されています
シングルスペースで。 クライアントの終了ステータスはゼロになります。
システムエラーが発生しない限り、終了ステータスはなく、
説明が出力されます (Linuxで言うところのstdout)、およびエラー メッセージ
に印刷されます stderr いつものように。
クライアントの利用エラー、サービスが利用できないなどの問題
見つかった、許可が拒否された、またはシステム コールの失敗
システムエラーです。 問題を説明するエラー メッセージ
お客様先で印刷されます stderr、およびクライアントの終了
status は 255 になります。シグナルが原因でクライアントが停止した場合、これは
重大なシステム エラーとして処理する必要があります。
-H | --hidecwd
呼び出し元プロセスの現在のディレクトリ名がプロセスに渡されないようにします。
サービス; 代わりにヌル文字列が渡されます。
-P | --シグパイプ
SIGPIPE が原因でサービス プログラムが終了した場合、
client はゼロになります。
終了ステータス メソッドが指定されました。 このオプションはコードには影響せず、
終了ステータスメソッド「stdout」が使用されている場合に出力される説明。
-h | - 助けて
クライアントの使用法メッセージを出力します。
-著作権
著作権と保証の欠如に関する通知を印刷します。
セキュリティオーバーライド OPTIONS
デバッグに利用でき、システムを許可するオプションもいくつかあります。
管理者がユーザーのポリシーをオーバーライドします。 これらのオプションは、クライアントが
root によって呼び出されるか、呼び出し元のユーザーがサービス ユーザーと同じである場合。
- オーバーライド 設定データ
--上書きファイル file
通常の構成ファイルを読み取らないでください。 代わりに、クライアントは
設定データ (改行が続く) またはの内容 ファイル名 (これは
クライアントのコンテキストで開かれた) をデーモンに送信し、デーモンはそのデータを使用します。
代わりは。 NS 設定データ すべてが XNUMX つの引数に含まれている必要があります。 それは
単一のディレクティブを簡単に指定できるように単一の改行が追加されますが、
複数のディレクティブが必要です。XNUMX つ以上の実数を含める必要があります
改行。
--spoof-user user
呼び出されているサービスのふりをする user (これはユーザー名の場合があります
または uid)。 これは、に提供されるグループおよび補足グループにも影響します。
サービス; これらは、標準グループおよび補助グループになります。 user.
当学校区の --spoof-user オプションは サービスユーザーの場合、どのユーザーが選択されるかに影響します
は単に「-」として指定されます。 この場合、サービス ユーザーが実際に電話をかけることになります。
ユーザー。
ENVIRONMENT
LOGNAME、USER これらは、呼び出し元のユーザーの名前を決定するために使用され、に渡されます
USERV_USER のサービス。 それらの値は、次の場合にのみ使用されます
呼び出し元の UID に対応します。
onworks.net サービスを使用して userv オンラインを使用する
