xref: /illumos-gate/usr/src/cmd/smbsrv/smbd/server.xml (revision da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0)
1<?xml version="1.0"?>
2<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3<!--
4
5 CDDL HEADER START
6
7	The contents of this file are subject to the terms of the
8	Common Development and Distribution License (the "License").
9	You may not use this file except in compliance with the License.
10
11	You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12	or http://www.opensolaris.org/os/licensing.
13	See the License for the specific language governing permissions
14	and limitations under the License.
15
16	When distributing Covered Code, include this CDDL HEADER in each
17	file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18	If applicable, add the following below this CDDL HEADER, with the
19	fields enclosed by brackets "[]" replaced with your own identifying
20	information: Portions Copyright [yyyy] [name of copyright owner]
21
22 CDDL HEADER END
23
24	Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
25	Use is subject to license terms.
26
27	ident	"%Z%%M%	%I%	%E% SMI"
28
29	NOTE:  This service manifest is not editable; its contents will
30	be overwritten by package or patch operations, including
31	operating system upgrade.  Make customizations in a different
32	file.
33
34-->
35
36<service_bundle type='manifest' name='SUNWsmbsr:smb-server'>
37
38<!-- 1. Name the service to 'network/smb/server' -->
39<service
40    name='network/smb/server'
41    type='service'
42    version='1'>
43
44	<!-- 2. Create default service instance. -->
45	<create_default_instance enabled='false' />
46
47	<!-- 3. Service has single instance -->
48	<single_instance/>
49
50	<!-- 4. Identify dependencies -->
51
52	<dependency name='network'
53	    grouping='require_any'
54	    restart_on='error'
55	    type='service'>
56		<service_fmri value='svc:/milestone/network'/>
57	</dependency>
58
59	<!-- Must have all local filesystems mounted before we share them -->
60	<dependency name='filesystem-local'
61	    grouping='require_all'
62	    restart_on='error'
63	    type='service'>
64		<service_fmri value='svc:/system/filesystem/local'/>
65	</dependency>
66
67	<!-- Must have idmap service started -->
68	<dependency name='idmap'
69	    grouping='require_all'
70	    restart_on='error'
71	    type='service'>
72		<service_fmri value='svc:/system/idmap:default'/>
73	</dependency>
74
75	<!--
76	    Want to make sure that the network/shares/group service
77	    starts after the smb/server service.  It needs to be
78	    optional in order to not cause failure if smb is
79	    disabled.
80	-->
81	<dependent name='groups'
82	    grouping="optional_all"
83	    restart_on='error' >
84		    <service_fmri value='svc:/network/shares/group'/>
85	</dependent>
86
87	<!-- 5. Identify start/stop/refresh methods -->
88	<exec_method
89		type='method'
90		name='start'
91		exec='/usr/lib/smbsrv/smbd %m'
92		timeout_seconds='60' >
93		<method_context>
94			<method_credential
95				user='root'
96				group='sys'
97				privileges='basic,net_mac_aware,net_privaddr,proc_audit,sys_devices,sys_smb' />
98		</method_context>
99	</exec_method>
100
101	<exec_method
102		type='method'
103		name='stop'
104		exec=':kill'
105		timeout_seconds='60' />
106
107	<exec_method
108		type='method'
109		name='refresh'
110		exec=':kill -HUP'
111		timeout_seconds='60' />
112
113	<property_group name='general' type='framework'>
114		<!-- To Start/Stop/Refresh the service -->
115		<propval name='action_authorization' type='astring'
116			value='solaris.smf.manage.smb' />
117		<propval name='value_authorization' type='astring'
118			value='solaris.smf.manage.smb' />
119	</property_group>
120
121	<property_group name='read' type='application'>
122		<!-- To read protected parameters -->
123		<propval name='read_authorization' type='astring'
124			value='solaris.smf.read.smb' />
125		<propval name='value_authorization' type='astring'
126			value='solaris.smf.value.smb' />
127		<propval name='rdr_ipcuser' type='astring' value='' />
128		<propval name='rdr_ipcpasswd' type='astring' value='' />
129		<propval name='ads_user' type='astring' value='' />
130		<propval name='ads_passwd' type='astring' value='' />
131		<propval name='machine_passwd' type='astring' value='' />
132	</property_group>
133
134	<!-- SMB service-specific general configuration defaults -->
135	<property_group name='smbd' type='application'>
136		<stability value='Evolving' />
137		<propval name='value_authorization' type='astring'
138			value='solaris.smf.value.smb' />
139		<propval name='rdr_ipcmode' type='astring'
140			value='auth' override='true'/>
141		<propval name='oplock_enable' type='boolean'
142			value='false' override='true'/>
143		<propval name='oplock_timeout' type='integer'
144			value='15000' override='true'/>
145		<propval name='autohome_map' type='astring'
146			value='/etc' override='true'/>
147		<propval name='domain_sid' type='astring'
148			value='' override='true'/>
149		<propval name='domain_member' type='boolean'
150			value='false' override='true'/>
151		<propval name='domain_name' type='astring'
152			value='WORKGROUP' override='true'/>
153		<propval name='pdc' type='astring'
154			value='' override='true'/>
155		<propval name='wins_server_1' type='astring'
156			value='' override='true'/>
157		<propval name='wins_server_2' type='astring'
158			value='' override='true'/>
159		<propval name='wins_exclude' type='astring'
160			value='' override='true'/>
161		<propval name='srvsvc_sharesetinfo_enable' type='boolean'
162			value='false' override='true'/>
163		<propval name='logr_enable' type='boolean'
164			value='false' override='true'/>
165		<propval name='mlrpc_keep_alive_interval' type='integer'
166			value='30' override='true'/>
167		<propval name='max_bufsize' type='integer'
168			value='37' override='true'/>
169		<propval name='max_workers' type='integer'
170			value='64' override='true'/>
171		<propval name='max_connections' type='integer'
172			value='-1' override='true'/>
173		<propval name='keep_alive' type='integer'
174			value='5400' override='true'/>
175		<propval name='restrict_anonymous' type='boolean'
176			value='false' override='true'/>
177		<propval name='signing_enabled' type='boolean'
178			value='false' override='true'/>
179		<propval name='signing_required' type='boolean'
180			value='false' override='true'/>
181		<propval name='signing_check' type='boolean'
182			value='false' override='true'/>
183		<propval name='flush_required' type='boolean'
184			value='false' override='true'/>
185		<propval name='sync_enable' type='boolean'
186			value='false' override='true'/>
187		<propval name='dir_symlink_disable' type='boolean'
188			value='false' override='true'/>
189		<propval name='announce_quota' type='boolean'
190			value='false' override='true'/>
191		<propval name='security' type='astring'
192			value='workgroup' override='true'/>
193		<propval name='netbios_scope' type='astring'
194			value='' override='true'/>
195		<propval name='system_comment' type='astring'
196			value='' override='true'/>
197		<propval name='lmauth_level' type='integer'
198			value='4' override='true'/>
199		<propval name='msdcs_disable' type='boolean'
200			value='false' override='true'/>
201		<propval name='ads_enable' type='boolean'
202			value='false' override='true'/>
203		<propval name='ads_domain' type='astring'
204			value='' override='true'/>
205		<propval name='ads_site' type='astring'
206			value='' override='true'/>
207		<propval name='ads_user_container' type='astring'
208			value='cn=Users' override='true'/>
209		<propval name='ads_ip_lookup' type='boolean'
210			value='false' override='true'/>
211		<propval name='ddns_enable' type='boolean'
212			value='false' override='true'/>
213		<propval name='ddns_retry_cnt' type='integer'
214			value='3' override='true'/>
215		<propval name='ddns_retry_sec' type='integer'
216			value='2' override='true'/>
217	</property_group>
218
219	<!-- 6. Identify faults to be ignored. -->
220	<!-- 7. Identify service model. Default service model is 'contract' -->
221	<!-- 8. Identify dependents.
222		For Solaris NAS, we may want to have the smbd service start,
223		before it reaches the svc:/milestone/multi-user-server
224		milestone.
225		<dependent
226			name='smb-server_multi-user-server'
227			grouping='optional_all'
228			restart_on='none'>
229			<service_fmri value=
230			    'svc:/milestone/multi-user-server'/>
231		</dependent>
232	-->
233	<!-- 9. Insert service milestones. None. -->
234
235	<stability value='Evolving' />
236
237	<!-- 10. Create Service Template information -->
238	<template>
239		<common_name>
240			<loctext xml:lang='C'> smbd daemon</loctext>
241		</common_name>
242		<documentation>
243			<manpage title='smbd' section='1M'
244				manpath='/usr/share/man' />
245		</documentation>
246	</template>
247
248</service>
249
250</service_bundle>
251