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 2011 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='domain_sid' type='astring' 154 value='' override='true'/> 155 <propval name='domain_member' type='boolean' 156 value='false' override='true'/> 157 <propval name='domain_name' type='astring' 158 value='WORKGROUP' override='true'/> 159 <propval name='fqdn' type='astring' 160 value='' override='true'/> 161 <propval name='forest' type='astring' 162 value='' override='true'/> 163 <propval name='domain_guid' type='astring' 164 value='' override='true'/> 165 <propval name='pdc' type='astring' 166 value='' override='true'/> 167 <propval name='wins_server_1' type='astring' 168 value='' override='true'/> 169 <propval name='wins_server_2' type='astring' 170 value='' override='true'/> 171 <propval name='wins_exclude' type='astring' 172 value='' override='true'/> 173 <propval name='max_workers' type='integer' 174 value='1024' override='true'/> 175 <propval name='max_connections' type='integer' 176 value='100000' override='true'/> 177 <propval name='keep_alive' type='integer' 178 value='5400' override='true'/> 179 <propval name='restrict_anonymous' type='boolean' 180 value='false' override='true'/> 181 <propval name='signing_enabled' type='boolean' 182 value='false' override='true'/> 183 <propval name='signing_required' type='boolean' 184 value='false' override='true'/> 185 <propval name='signing_check' type='boolean' 186 value='false' override='true'/> 187 <propval name='sync_enable' type='boolean' 188 value='false' override='true'/> 189 <propval name='security' type='astring' 190 value='workgroup' override='true'/> 191 <propval name='netbios_scope' type='astring' 192 value='' override='true'/> 193 <propval name='system_comment' type='astring' 194 value='' override='true'/> 195 <propval name='lmauth_level' type='integer' 196 value='4' override='true'/> 197 <propval name='ads_site' type='astring' 198 value='' override='true'/> 199 <propval name='ddns_enable' type='boolean' 200 value='false' override='true'/> 201 <propval name='kpasswd_server' type='astring' 202 value='' override='true'/> 203 <propval name='kpasswd_domain' type='astring' 204 value='' override='true'/> 205 <propval name='kpasswd_seqnum' type='integer' 206 value='0' override='true'/> 207 <propval name='netlogon_seqnum' type='integer' 208 value='0' override='true'/> 209 <propval name='ipv6_enable' type='boolean' 210 value='false' override='true'/> 211 <propval name='sv_version' type='astring' 212 value='5.0' override='true'/> 213 <propval name='dfs_stdroot_num' type='integer' 214 value='0' override='true'/> 215 <propval name='traverse_mounts' type='boolean' 216 value='true' override='true'/> 217 </property_group> 218 219 <!-- SMB service-specific shares exec configuration defaults --> 220 <property_group name='exec' type='application'> 221 <stability value='Evolving' /> 222 <propval name='map' type='astring' 223 value='' override='true'/> 224 <propval name='unmap' type='astring' 225 value='' override='true'/> 226 <propval name='disposition' type='astring' 227 value='' override='true'/> 228 </property_group> 229 230 <!-- 6. Identify faults to be ignored. --> 231 <!-- 7. Identify service model. Default service model is 'contract' --> 232 <!-- 8. Identify dependents. 233 For Solaris NAS, we may want to have the smbd service start, 234 before it reaches the svc:/milestone/multi-user-server 235 milestone. 236 <dependent 237 name='smb-server_multi-user-server' 238 grouping='optional_all' 239 restart_on='none'> 240 <service_fmri value= 241 'svc:/milestone/multi-user-server'/> 242 </dependent> 243 --> 244 <!-- 9. Insert service milestones. None. --> 245 246 <stability value='Evolving' /> 247 248 <!-- 10. Create Service Template information --> 249 <template> 250 <common_name> 251 <loctext xml:lang='C'> smbd daemon</loctext> 252 </common_name> 253 <documentation> 254 <manpage title='smbd' section='1M' 255 manpath='/usr/share/man' /> 256 </documentation> 257 </template> 258 259</service> 260 261</service_bundle> 262