Defines whether to use the embedded code or start a separate daemon for the defined rpc services. The rpc_daemon prefix must be followed by the server name, and a value.
Two possible values are currently supported: disabled fork
The classic method is to run rpc services as internal daemons embedded in smbd, therefore the external daemons are disabled by default.
Choosing the fork option will cause samba to fork a separate process for each daemon configured this way. Each daemon may in turn fork a number of children used to handle requests from multiple smbds and direct tcp/ip connections (if the Endpoint Mapper is enabled). Communication with smbd happens over named pipes and require that said pipes are forward to the external daemon (see ).
Forked RPC Daemons support dynamically forking children to handle connections. The heuristics about how many children to keep around and how fast to allow them to fork and also how many clients each child is allowed to handle concurrently is defined by parametrical options named after the daemon. Five options are currently supported: prefork_min_children prefork_max_children prefork_spawn_rate prefork_max_allowed_clients prefork_child_min_life
To set one of these options use the following syntax: daemonname:prefork_min_children = 5
Samba includes separate daemons for spoolss, lsarpc/lsass, netlogon, samr, FSRVP and mdssvc(Spotlight). Currently five daemons are available and they are called: epmd lsasd spoolssd fssd mdssd Example: rpc_daemon:spoolssd = fork