xref: /illumos-gate/usr/src/cmd/smbsrv/smbd/server.xml (revision 45818ee124adeaaf947698996b4f4c722afc6d1f)
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.
25Copyright 2013 Nexenta Systems, Inc.  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		<!-- XXX: need method_context? -->
100	</exec_method>
101
102	<exec_method
103		type='method'
104		name='stop'
105		exec=':kill'
106		timeout_seconds='60' />
107
108	<exec_method
109		type='method'
110		name='refresh'
111		exec=':kill -HUP'
112		timeout_seconds='60' />
113
114	<property_group name='general' type='framework'>
115		<!-- To Start/Stop/Refresh the service -->
116		<propval name='action_authorization' type='astring'
117			value='solaris.smf.manage.smb' />
118		<propval name='value_authorization' type='astring'
119			value='solaris.smf.manage.smb' />
120	</property_group>
121
122	<property_group name='firewall_context' type='com.sun,fw_definition'>
123		<propval name='ipf_method' type='astring'
124		    value='/lib/svc/method/svc-smbd ipfilter' />
125	</property_group>
126
127	<property_group name='firewall_config' type='com.sun,fw_configuration'>
128		<propval name='policy' type='astring' value='use_global' />
129		<propval name='apply_to' type='astring' value='' />
130		<propval name='exceptions' type='astring' value='' />
131		<propval name='value_authorization' type='astring'
132			value='solaris.smf.value.firewall.config' />
133	</property_group>
134
135	<property_group name='read' type='application'>
136		<!-- To read protected parameters -->
137		<propval name='read_authorization' type='astring'
138			value='solaris.smf.read.smb' />
139		<propval name='value_authorization' type='astring'
140			value='solaris.smf.value.smb' />
141		<propval name='machine_passwd' type='astring' value='' />
142	</property_group>
143
144	<!-- SMB service-specific general configuration defaults -->
145	<property_group name='smbd' type='application'>
146		<stability value='Evolving' />
147		<propval name='value_authorization' type='astring'
148			value='solaris.smf.value.smb' />
149		<propval name='oplock_enable' type='boolean'
150			value='true' override='true'/>
151		<propval name='autohome_map' type='astring'
152			value='/etc' override='true'/>
153		<propval name='debug' type='integer'
154			value='0' override='true'/>
155		<propval name='domain_sid' type='astring'
156			value='' override='true'/>
157		<propval name='domain_member' type='boolean'
158			value='false' override='true'/>
159		<propval name='domain_name' type='astring'
160			value='WORKGROUP' override='true'/>
161		<propval name='fqdn' type='astring'
162			value='' override='true'/>
163		<propval name='forest' type='astring'
164			value='' override='true'/>
165		<propval name='domain_guid' type='astring'
166			value='' override='true'/>
167		<propval name='pdc' type='astring'
168			value='' override='true'/>
169		<propval name='wins_server_1' type='astring'
170			value='' override='true'/>
171		<propval name='wins_server_2' type='astring'
172			value='' override='true'/>
173		<propval name='wins_exclude' type='astring'
174			value='' override='true'/>
175		<propval name='max_workers' type='integer'
176			value='1024' override='true'/>
177		<propval name='max_connections' type='integer'
178			value='100000' override='true'/>
179		<propval name='keep_alive' type='integer'
180			value='5400' override='true'/>
181		<propval name='restrict_anonymous' type='boolean'
182			value='false' override='true'/>
183		<propval name='signing_enabled' type='boolean'
184			value='false' override='true'/>
185		<propval name='signing_required' type='boolean'
186			value='false' override='true'/>
187		<propval name='signing_check' type='boolean'
188			value='false' override='true'/>
189		<propval name='sync_enable' type='boolean'
190			value='false' override='true'/>
191		<propval name='security' type='astring'
192			value='workgroup' override='true'/>
193		<propval name='netbios_enable' type='boolean'
194			value='false' override='true'/>
195		<propval name='netbios_scope' type='astring'
196			value='' override='true'/>
197		<propval name='system_comment' type='astring'
198			value='' override='true'/>
199		<propval name='lmauth_level' type='integer'
200			value='4' override='true'/>
201		<propval name='ads_site' type='astring'
202			value='' override='true'/>
203		<propval name='ddns_enable' type='boolean'
204			value='false' override='true'/>
205		<propval name='kpasswd_server' type='astring'
206			value='' override='true'/>
207		<propval name='kpasswd_domain' type='astring'
208			value='' override='true'/>
209		<propval name='kpasswd_seqnum' type='integer'
210			value='0' override='true'/>
211		<propval name='netlogon_seqnum' type='integer'
212			value='0' override='true'/>
213		<propval name='ipv6_enable' type='boolean'
214			value='false' override='true'/>
215		<propval name='sv_version' type='astring'
216			value='5.0' override='true'/>
217		<propval name='dfs_stdroot_num' type='integer'
218			value='0' override='true'/>
219		<propval name='traverse_mounts' type='boolean'
220			value='true' override='true'/>
221	</property_group>
222
223	<!-- SMB service-specific shares exec configuration defaults -->
224	<property_group name='exec' type='application'>
225		<stability value='Evolving' />
226		<propval name='map' type='astring'
227			value='' override='true'/>
228		<propval name='unmap' type='astring'
229			value='' override='true'/>
230		<propval name='disposition' type='astring'
231			value='' override='true'/>
232	</property_group>
233
234	<!-- 6. Identify faults to be ignored. -->
235	<!-- 7. Identify service model. Default service model is 'contract' -->
236	<!-- 8. Identify dependents.
237		For Solaris NAS, we may want to have the smbd service start,
238		before it reaches the svc:/milestone/multi-user-server
239		milestone.
240		<dependent
241			name='smb-server_multi-user-server'
242			grouping='optional_all'
243			restart_on='none'>
244			<service_fmri value=
245			    'svc:/milestone/multi-user-server'/>
246		</dependent>
247	-->
248	<!-- 9. Insert service milestones. None. -->
249
250	<stability value='Evolving' />
251
252	<!-- 10. Create Service Template information -->
253	<template>
254		<common_name>
255			<loctext xml:lang='C'> smbd daemon</loctext>
256		</common_name>
257		<documentation>
258			<manpage title='smbd' section='1M'
259				manpath='/usr/share/man' />
260		</documentation>
261	</template>
262
263</service>
264
265</service_bundle>
266