xref: /illumos-gate/usr/src/cmd/smbsrv/smbd/server.xml (revision 5ee6ac27d4fd4c9412183aa8cc1143f36ae04a8c)
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 2011 Nexenta Systems, Inc.  All rights reserved.
25Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
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='none'
69	    type='service'>
70		<service_fmri value='svc:/system/idmap:default'/>
71	</dependency>
72
73	<!-- Must have SMB client service started -->
74	<dependency name='smb-client'
75	    grouping='require_all'
76	    restart_on='none'
77	    type='service'>
78		<service_fmri value='svc:/network/smb/client:default'/>
79	</dependency>
80
81	<!--
82	    Want to make sure that the network/shares/group service
83	    starts after the smb/server service.  It needs to be
84	    optional in order to not cause failure if smb is
85	    disabled.
86	-->
87	<dependent name='groups'
88	    grouping="optional_all"
89	    restart_on='error' >
90		    <service_fmri value='svc:/network/shares/group'/>
91	</dependent>
92
93	<!-- 5. Identify start/stop/refresh methods -->
94	<exec_method
95		type='method'
96		name='start'
97		exec='/usr/lib/smbsrv/smbd %m'
98		timeout_seconds='60' >
99		<method_context>
100			<method_credential
101				user='root'
102				group='sys'
103				privileges='all' />
104		</method_context>
105	</exec_method>
106
107	<exec_method
108		type='method'
109		name='stop'
110		exec=':kill'
111		timeout_seconds='60' />
112
113	<exec_method
114		type='method'
115		name='refresh'
116		exec=':kill -HUP'
117		timeout_seconds='60' />
118
119	<property_group name='general' type='framework'>
120		<!-- To Start/Stop/Refresh the service -->
121		<propval name='action_authorization' type='astring'
122			value='solaris.smf.manage.smb' />
123		<propval name='value_authorization' type='astring'
124			value='solaris.smf.manage.smb' />
125	</property_group>
126
127	<property_group name='firewall_context' type='com.sun,fw_definition'>
128		<propval name='ipf_method' type='astring'
129		    value='/lib/svc/method/svc-smbd ipfilter' />
130	</property_group>
131
132	<property_group name='firewall_config' type='com.sun,fw_configuration'>
133		<propval name='policy' type='astring' value='use_global' />
134		<propval name='apply_to' type='astring' value='' />
135		<propval name='exceptions' type='astring' value='' />
136		<propval name='value_authorization' type='astring'
137			value='solaris.smf.value.firewall.config' />
138	</property_group>
139
140	<property_group name='read' type='application'>
141		<!-- To read protected parameters -->
142		<propval name='read_authorization' type='astring'
143			value='solaris.smf.read.smb' />
144		<propval name='value_authorization' type='astring'
145			value='solaris.smf.value.smb' />
146		<propval name='machine_passwd' type='astring' value='' />
147	</property_group>
148
149	<!-- SMB service-specific general configuration defaults -->
150	<property_group name='smbd' type='application'>
151		<stability value='Evolving' />
152		<propval name='value_authorization' type='astring'
153			value='solaris.smf.value.smb' />
154		<propval name='oplock_enable' type='boolean'
155			value='true' override='true'/>
156		<propval name='autohome_map' type='astring'
157			value='/etc' override='true'/>
158		<propval name='domain_sid' type='astring'
159			value='' override='true'/>
160		<propval name='domain_member' type='boolean'
161			value='false' override='true'/>
162		<propval name='domain_name' type='astring'
163			value='WORKGROUP' override='true'/>
164		<propval name='fqdn' type='astring'
165			value='' override='true'/>
166		<propval name='forest' type='astring'
167			value='' override='true'/>
168		<propval name='domain_guid' type='astring'
169			value='' override='true'/>
170		<propval name='pdc' type='astring'
171			value='' override='true'/>
172		<propval name='wins_server_1' type='astring'
173			value='' override='true'/>
174		<propval name='wins_server_2' type='astring'
175			value='' override='true'/>
176		<propval name='wins_exclude' type='astring'
177			value='' override='true'/>
178		<propval name='max_workers' type='integer'
179			value='1024' override='true'/>
180		<propval name='max_connections' type='integer'
181			value='100000' override='true'/>
182		<propval name='keep_alive' type='integer'
183			value='5400' override='true'/>
184		<propval name='restrict_anonymous' type='boolean'
185			value='false' override='true'/>
186		<propval name='signing_enabled' type='boolean'
187			value='false' override='true'/>
188		<propval name='signing_required' type='boolean'
189			value='false' override='true'/>
190		<propval name='signing_check' type='boolean'
191			value='false' override='true'/>
192		<propval name='sync_enable' type='boolean'
193			value='false' override='true'/>
194		<propval name='security' type='astring'
195			value='workgroup' override='true'/>
196		<propval name='netbios_scope' type='astring'
197			value='' override='true'/>
198		<propval name='system_comment' type='astring'
199			value='' override='true'/>
200		<propval name='lmauth_level' type='integer'
201			value='4' override='true'/>
202		<propval name='ads_site' type='astring'
203			value='' override='true'/>
204		<propval name='ddns_enable' type='boolean'
205			value='false' override='true'/>
206		<propval name='kpasswd_server' type='astring'
207			value='' override='true'/>
208		<propval name='kpasswd_domain' type='astring'
209			value='' override='true'/>
210		<propval name='kpasswd_seqnum' type='integer'
211			value='0' override='true'/>
212		<propval name='netlogon_seqnum' type='integer'
213			value='0' override='true'/>
214		<propval name='ipv6_enable' type='boolean'
215			value='false' override='true'/>
216		<propval name='sv_version' type='astring'
217			value='5.0' override='true'/>
218		<propval name='dfs_stdroot_num' type='integer'
219			value='0' override='true'/>
220	</property_group>
221
222	<!-- SMB service-specific shares exec configuration defaults -->
223	<property_group name='exec' type='application'>
224		<stability value='Evolving' />
225		<propval name='map' type='astring'
226			value='' override='true'/>
227		<propval name='unmap' type='astring'
228			value='' override='true'/>
229		<propval name='disposition' type='astring'
230			value='' override='true'/>
231	</property_group>
232
233	<!-- 6. Identify faults to be ignored. -->
234	<!-- 7. Identify service model. Default service model is 'contract' -->
235	<!-- 8. Identify dependents.
236		For Solaris NAS, we may want to have the smbd service start,
237		before it reaches the svc:/milestone/multi-user-server
238		milestone.
239		<dependent
240			name='smb-server_multi-user-server'
241			grouping='optional_all'
242			restart_on='none'>
243			<service_fmri value=
244			    'svc:/milestone/multi-user-server'/>
245		</dependent>
246	-->
247	<!-- 9. Insert service milestones. None. -->
248
249	<stability value='Evolving' />
250
251	<!-- 10. Create Service Template information -->
252	<template>
253		<common_name>
254			<loctext xml:lang='C'> smbd daemon</loctext>
255		</common_name>
256		<documentation>
257			<manpage title='smbd' section='1M'
258				manpath='/usr/share/man' />
259		</documentation>
260	</template>
261
262</service>
263
264</service_bundle>
265