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