With this option you can define if a rpc service should be running internal/embedded in smbd or should be redirected to an external daemon like Samba4, the endpoint mapper daemon, the spoolss daemon or the new LSA service daemon. The rpc_server prefix must be followed by the pipe name, and a value.
This option can be set for each available rpc service in Samba. The following list shows all available pipe names services you can modify with this option.
epmapper - Endpoint Mapper winreg - Remote Registry Service srvsvc - Remote Server Services lsarpc - Local Security Authority samr - Security Account Management netlogon - Netlogon Remote Protocol netdfs - Settings for Distributed File System dssetup - Active Directory Setup wkssvc - Workstation Services spoolss - Network Printing Spooler svcctl - Service Control ntsvcs - Plug and Play Services eventlog - Event Logger initshutdown - Init Shutdown Service mdssvc - Spotlight
Three possible values currently supported are: embedded external disabled
The classic method is to run every pipe as an internal function embedded in smbd. The defaults may vary depending on the service.
Choosing the external option allows one to run a separate daemon or even a completely independent (3rd party) server capable of interfacing with samba via the MS-RPC interface over named pipes.
Currently in Samba3 we support four daemons, spoolssd, epmd, lsasd and mdssd. These daemons can be enabled using the rpc_daemon option. For spoolssd you have to enable the daemon and proxy the named pipe with:
Examples: rpc_daemon:lsasd = fork rpc_server:lsarpc = external rpc_server:samr = external rpc_server:netlogon = external
rpc_server:spoolss = external rpc_server:epmapper = disabled
rpc_daemon:mdssd = fork rpc_server:mdssvc = external
There is one special option which allows you to enable rpc services to listen for ncacn_ip_tcp connections too. Currently this is only used for testing and doesn't scale!
rpc_server:tcpip = yes