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