server.xml revision 12508:edb7861a1533
1125959Srwatson<?xml version="1.0"?>
2112208Schris<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3115483Sru<!--
4112208Schris
5112208SchrisCDDL HEADER START
6112208Schris
7112208SchrisThe contents of this file are subject to the terms of the
8112208SchrisCommon Development and Distribution License (the "License").
9115483SruYou may not use this file except in compliance with the License.
10112208Schris
11112208SchrisYou can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12112208Schrisor http://www.opensolaris.org/os/licensing.
13112208SchrisSee the License for the specific language governing permissions
14112208Schrisand limitations under the License.
15112208Schris
16112208SchrisWhen distributing Covered Code, include this CDDL HEADER in each
17112208Schrisfile and include the License file at usr/src/OPENSOLARIS.LICENSE.
18115483SruIf applicable, add the following below this CDDL HEADER, with the
19112208Schrisfields enclosed by brackets "[]" replaced with your own identifying
20112208Schrisinformation: Portions Copyright [yyyy] [name of copyright owner]
21112208Schris
22112208SchrisCDDL HEADER END
23112208Schris
24112208SchrisCopyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
25112208Schris
26112208SchrisNOTE:  This service manifest is not editable; its contents will
27112208Schrisbe overwritten by package or patch operations, including
28112208Schrisoperating system upgrade.  Make customizations in a different
29112208Schrisfile.
30115483Sru
31112208Schris-->
32115483Sru
33125959Srwatson<service_bundle type='manifest' name='SUNWsmbsr:smb-server'>
34206622Suqs
35112208Schris<!-- 1. Name the service to 'network/smb/server' -->
36112208Schris<service
37112208Schris    name='network/smb/server'
38112208Schris    type='service'
39112208Schris    version='1'>
40112208Schris
41125959Srwatson	<!-- 2. Create default service instance. -->
42115483Sru	<create_default_instance enabled='false' />
43115483Sru
44115483Sru	<!-- 3. Service has single instance -->
45112208Schris	<single_instance/>
46112208Schris
47112208Schris	<!-- 4. Identify dependencies -->
48112208Schris
49112208Schris	<dependency name='network'
50115483Sru	    grouping='require_any'
51112208Schris	    restart_on='error'
52112208Schris	    type='service'>
53112208Schris		<service_fmri value='svc:/milestone/network'/>
54112208Schris	</dependency>
55112208Schris
56112208Schris	<!-- Must have all local filesystems mounted before we share them -->
57112208Schris	<dependency name='filesystem-local'
58112208Schris	    grouping='require_all'
59112208Schris	    restart_on='error'
60112208Schris	    type='service'>
61112208Schris		<service_fmri value='svc:/system/filesystem/local'/>
62112208Schris	</dependency>
63112208Schris
64112208Schris	<!-- Must have idmap service started -->
65112208Schris	<dependency name='idmap'
66112208Schris	    grouping='require_all'
67112208Schris	    restart_on='restart'
68112208Schris	    type='service'>
69112208Schris		<service_fmri value='svc:/system/idmap:default'/>
70112208Schris	</dependency>
71112208Schris
72112208Schris	<!--
73112208Schris	    Want to make sure that the network/shares/group service
74112208Schris	    starts after the smb/server service.  It needs to be
75112208Schris	    optional in order to not cause failure if smb is
76112208Schris	    disabled.
77112208Schris	-->
78125959Srwatson	<dependent name='groups'
79125959Srwatson	    grouping="optional_all"
80112208Schris	    restart_on='error' >
81112208Schris		    <service_fmri value='svc:/network/shares/group'/>
82112208Schris	</dependent>
83112208Schris
84112208Schris	<!-- 5. Identify start/stop/refresh methods -->
85112208Schris	<exec_method
86112208Schris		type='method'
87112208Schris		name='start'
88112208Schris		exec='/usr/lib/smbsrv/smbd %m'
89112208Schris		timeout_seconds='60' >
90112208Schris		<method_context>
91112208Schris			<method_credential
92115483Sru				user='root'
93112208Schris				group='sys'
94112208Schris				privileges='all' />
95112208Schris		</method_context>
96115483Sru	</exec_method>
97112208Schris
98112208Schris	<exec_method
99112208Schris		type='method'
100112208Schris		name='stop'
101112208Schris		exec=':kill'
102112208Schris		timeout_seconds='60' />
103112208Schris
104112690Schris	<exec_method
105115483Sru		type='method'
106112690Schris		name='refresh'
107112690Schris		exec=':kill -HUP'
108112690Schris		timeout_seconds='60' />
109112690Schris
110112690Schris	<property_group name='general' type='framework'>
111112690Schris		<!-- To Start/Stop/Refresh the service -->
112140442Sru		<propval name='action_authorization' type='astring'
113140442Sru			value='solaris.smf.manage.smb' />
114140442Sru		<propval name='value_authorization' type='astring'
115140442Sru			value='solaris.smf.manage.smb' />
116140442Sru	</property_group>
117140442Sru
118140442Sru	<property_group name='firewall_context' type='com.sun,fw_definition'>
119140442Sru		<propval name='ipf_method' type='astring'
120140442Sru		    value='/lib/svc/method/svc-smbd ipfilter' />
121112208Schris	</property_group>
122112208Schris
123112208Schris	<property_group name='firewall_config' type='com.sun,fw_configuration'>
124112208Schris		<propval name='policy' type='astring' value='use_global' />
125112208Schris		<propval name='apply_to' type='astring' value='' />
126131500Sru		<propval name='exceptions' type='astring' value='' />
127131500Sru		<propval name='value_authorization' type='astring'
128115483Sru			value='solaris.smf.value.firewall.config' />
129112208Schris	</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