samba-dcerpcd — これは、Samba の DCERPC サーバプロセスの1つで、
RPC サービスが提供されているソケットをリッスンすることができ、
Samba が呼び出す DCERPC サービスの親プロセスである。別個に呼び出され
ない限り、要求に応じて smbd
または
winbind
から呼び出され、名前付きパイプ (np) 上で
だけヘルパープロセスとして DCERPC 機能を提供する。起動スクリプトを
変更しない限り、ほとんどのインストール(スタンドアロン/メンバーサーバ/
AD サーバ)では、これが標準設定になる。Samba が Active Directory ドメイン
コントローラとして設定されている場合は smbd
を起動する
samba
プロセスは、通常の DCERPC サービスを提供するが、
samba-dcerpcd
ではないことに注意。システム起動
スクリプトまたはデーモンによって個別に呼び出される場合は、global の
smb.conf オプション
rpc start on demand helpers = false は
samba-dcerpcd
がスタンドアロンで起動することを許可する
ように設定する必要がある。
samba-dcerpcd
[-D|--daemon] [-i|--interactive] [-F|--foreground] [--no-process-group] [-d <debug level>] [--debug-stdout] [--configfile=<configuration file>] [--option=<name>=<value>] [--leak-report] [--leak-report-full] [-V|--version] [--libexec-rpcds] [--np-helper] [--ready-signal-fd=<fd>] [<SERVICE_1>] [<SERVICE_2>] [<...>]
このツールは samba(7) システムの一部である。
samba-dcerpcd は2つの方法で使用できる。起動スクリプトの変更および
global smb.conf オプションを指定しない通常の場合と、
rpc start on demand helpers = true が
設定されている(デフォルト設定)場合は、smbd
または winbind
--np-helper を含むコマンドラインを
使用して、名前付きパイプ (np) 上でDCERPC 機能を提供する。また、
スタンドアロンモードでも使用できる。スタンドアロンモードでは
smbd
または winbind
とは別に、
システム起動スクリプトを使用して起動する。スタンドアロンデーモンと
して起動した場合、またはシステム起動スクリプトから起動した場合は、
global smb.confオプション
rpc start on demand helpers = false を
falseに設定する必要がある。global smb.confオプション
rpc start on demand helpers = true は
trueに設定されるか、既定のままの場合は
samba-dcerpcd
は起動に失敗し、エラーメッセージが
記録される。
Samba が Active Directory ドメインコントローラモードで実行されている場合は、
samba
AD コードは通常の DCERPC サービスを提供するが、
samba-dcerpcd は smbd
がこの構成では使用していたのと
同等の、SRVSVC のようなサービスを提供できることに注意。
スタンドアロンモードは、Samba フレームワーク以外で使用する場合にも 便利である。たとえば、Linux カーネルの SMB2 サーバ ksmbd や、 場合によってはその他の SMB2 サーバ実装での使用などである。 このモードでは、inetd のように振る舞い、RPC サーバー実装の代わりに ソケットをリッスンする。
クライアントが接続すると samba-dcerpcd
は、
必要に応じて関連する RPC サービスバイナリを起動し、そのサービスへ
接続を渡す。RPC サービスがしばらくアイドル状態の場合は、
samba-dcerpcd
再びシャットダウンするように要求する。
このパラメーターを指定すると、サーバーは
デーモンとして動作する。つまり、それ自身を切り離して
バックグラウンドで実行し、適切なポートで要求を処理する。
サーバをデーモンとして動作させることは
samba-dcerpcd
Sambaフレームワーク以外の
ものである。しかし、システム起動スクリプトを使用して起動する
ように構成されている場合は、メンバーサーバー用の Samba 内で
この方法で使用することもできる。このスイッチは、
samba-dcerpcd
がシェルのコマンド行で実行
されることを念頭に置いている。
このパラメーターを指定すると、サーバーが
シェルのコマンド行で実行される場合でも、サーバーはデーモンと
してではなく「対話的に」実行される。このパラメータを設定すると、
コマンドラインから実行したときに暗黙的なデーモンモードが無効になる。
samba-dcerpcd
は1つの接続だけを受け入れて終了する。
また、-S
パラメータが与えられた場合には
標準出力にも記録される。
指定した場合、このパラメータはメインの
samba-dcerpcd
プロセスの デーモン化を行わない。
すなわち二重フォークと端末との関連付けを解除するプロセスをしない。
子プロセスは、各接続要求を処理するために通常どおり生成されるが、
メインプロセスは終了しない。この動作モードは、
Daniel J. Bernstein による daemontools
パッケージの supervise
および
svscan
あるいは AIX プロセス・モニタのような、
プロセス監視ツール配下で、samba-dcerpcd
を
動かすのに適している。
samba-dcerpcd 用に新しいプロセスグループを 作成しない。
Samba の LIBEXECDIR にあるすべてのデーモンに
RPC サービスを提供する。"rpcd_"で始まるすべての
プログラムは、RPCサービスを提供するものと見なす。
--libexec-rpcds
オプションを使用しない場合、
コマンドラインで明示的にすべての RPC サービスヘルパーを
一覧表示できる。
samba-dcerpcd
を、
smbd
または
winbind
用に名前付きパイプソケットを
ヘルパーとして開くためにオンデマンドで実行する。
このモードで実行するには、global smb.confオプション
rpc start on demand helpers = true を
trueに設定する必要がある(これは既定の設定)。
このfdを使用して、サービスの準備状況を
smbd
に報告する。内部使用のみ。