Print this page
NEX-15125 It's time to require SMB signing by default
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-15581 SMB keep-alive feature is just noise
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-15581 SMB keep-alive feature is just noise
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-9497 SMB should bypass ACL traverse checking
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-10019 SMB server min_protocol setting
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-9723 SMB2 open delays with exclusive oplocks
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-5273 SMB 3 Encryption
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-3611 CLONE NEX-3550 Replace smb2_enable with max_protocol
Reviewed by: Yuri Pankov <Yuri.Pankov@nexenta.com>
SMB2 should be disabled by default
NEX-2781 SMB2 credit handling needs work
NEX-2314 SMB server debug logging needs improvement
SUP-866 smbd lwps stuck in libsocket recv() for no apparent reason (try 2)
NEX-2036 SMB signing should be enabled by default
NEX-1050 enable_smb2 should be smb2_enable
NEX-1022 SMB2 should be enabled by default
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
SMB-65 SMB server in non-global zones (data structure changes)
Many things move to the smb_server_t object, and
many functions gain an sv arg (which server).
re #13470 rb4432 Sync some SMB differences from illumos
re #6813 rb1757 port 2976 Child folder visibility through shares


   5 CDDL HEADER START
   6 
   7 The contents of this file are subject to the terms of the
   8 Common Development and Distribution License (the "License").
   9 You may not use this file except in compliance with the License.
  10 
  11 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  12 or http://www.opensolaris.org/os/licensing.
  13 See the License for the specific language governing permissions
  14 and limitations under the License.
  15 
  16 When distributing Covered Code, include this CDDL HEADER in each
  17 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  18 If applicable, add the following below this CDDL HEADER, with the
  19 fields enclosed by brackets "[]" replaced with your own identifying
  20 information: Portions Copyright [yyyy] [name of copyright owner]
  21 
  22 CDDL HEADER END
  23 
  24 Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  25 Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  26 Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>

  27 
  28 NOTE:  This service manifest is not editable; its contents will
  29 be overwritten by package or patch operations, including
  30 operating system upgrade.  Make customizations in a different
  31 file.
  32 
  33 -->
  34 
  35 <service_bundle type='manifest' name='SUNWsmbsr:smb-server'>
  36 
  37 <!-- 1. Name the service to 'network/smb/server' -->
  38 <service
  39     name='network/smb/server'
  40     type='service'
  41     version='1'>
  42 
  43         <!-- 2. Create default service instance. -->
  44         <create_default_instance enabled='false' />
  45 
  46         <!-- 3. Service has single instance -->
  47         <single_instance/>
  48 
  49         <!-- 4. Identify dependencies -->
  50 
  51         <dependency name='network'
  52             grouping='require_any'
  53             restart_on='error'
  54             type='service'>
  55                 <service_fmri value='svc:/milestone/network'/>
  56         </dependency>
  57 
  58         <!-- Must have all local filesystems mounted before we share them -->
  59         <dependency name='filesystem-local'
  60             grouping='require_all'
  61             restart_on='error'


 140         </property_group>
 141 
 142         <property_group name='read' type='application'>
 143                 <!-- To read protected parameters -->
 144                 <propval name='read_authorization' type='astring'
 145                         value='solaris.smf.read.smb' />
 146                 <propval name='value_authorization' type='astring'
 147                         value='solaris.smf.value.smb' />
 148                 <propval name='machine_passwd' type='astring' value='' />
 149         </property_group>
 150 
 151         <!-- SMB service-specific general configuration defaults -->
 152         <property_group name='smbd' type='application'>
 153                 <stability value='Evolving' />
 154                 <propval name='value_authorization' type='astring'
 155                         value='solaris.smf.value.smb' />
 156                 <propval name='oplock_enable' type='boolean'
 157                         value='true' override='true'/>
 158                 <propval name='autohome_map' type='astring'
 159                         value='/etc' override='true'/>


 160                 <propval name='debug' type='integer'
 161                         value='0' override='true'/>
 162                 <propval name='domain_sid' type='astring'
 163                         value='' override='true'/>
 164                 <propval name='domain_member' type='boolean'
 165                         value='false' override='true'/>
 166                 <propval name='domain_name' type='astring'
 167                         value='WORKGROUP' override='true'/>
 168                 <propval name='fqdn' type='astring'
 169                         value='' override='true'/>
 170                 <propval name='forest' type='astring'
 171                         value='' override='true'/>
 172                 <propval name='domain_guid' type='astring'
 173                         value='' override='true'/>
 174                 <propval name='pdc' type='astring'
 175                         value='' override='true'/>
 176                 <propval name='wins_server_1' type='astring'
 177                         value='' override='true'/>
 178                 <propval name='wins_server_2' type='astring'
 179                         value='' override='true'/>
 180                 <propval name='wins_exclude' type='astring'
 181                         value='' override='true'/>
 182                 <propval name='max_workers' type='integer'
 183                         value='1024' override='true'/>
 184                 <propval name='max_connections' type='integer'
 185                         value='100000' override='true'/>
 186                 <propval name='keep_alive' type='integer'
 187                         value='5400' override='true'/>
 188                 <propval name='restrict_anonymous' type='boolean'
 189                         value='false' override='true'/>
 190                 <propval name='signing_enabled' type='boolean'
 191                         value='true' override='true'/>
 192                 <propval name='signing_required' type='boolean'
 193                         value='false' override='true'/>
 194                 <propval name='signing_check' type='boolean'
 195                         value='false' override='true'/>
 196                 <propval name='sync_enable' type='boolean'
 197                         value='false' override='true'/>
 198                 <propval name='security' type='astring'
 199                         value='workgroup' override='true'/>
 200                 <propval name='netbios_enable' type='boolean'
 201                         value='false' override='true'/>
 202                 <propval name='netbios_scope' type='astring'
 203                         value='' override='true'/>
 204                 <propval name='system_comment' type='astring'
 205                         value='' override='true'/>
 206                 <propval name='lmauth_level' type='integer'
 207                         value='4' override='true'/>
 208                 <propval name='ads_site' type='astring'
 209                         value='' override='true'/>
 210                 <propval name='ddns_enable' type='boolean'
 211                         value='false' override='true'/>
 212                 <propval name='kpasswd_server' type='astring'
 213                         value='' override='true'/>
 214                 <propval name='kpasswd_domain' type='astring'
 215                         value='' override='true'/>
 216                 <propval name='kpasswd_seqnum' type='integer'
 217                         value='0' override='true'/>
 218                 <propval name='netlogon_seqnum' type='integer'
 219                         value='0' override='true'/>
 220                 <propval name='ipv6_enable' type='boolean'
 221                         value='false' override='true'/>
 222                 <propval name='sv_version' type='astring'
 223                         value='5.0' override='true'/>
 224                 <propval name='dfs_stdroot_num' type='integer'
 225                         value='0' override='true'/>
 226                 <propval name='print_enable' type='boolean'
 227                         value='false' override='true'/>
 228                 <propval name='traverse_mounts' type='boolean'
 229                         value='true' override='true'/>
 230                 <propval name='max_protocol' type='astring'
 231                         value='' override='true'/>




 232                 <propval name='initial_credits' type='integer'
 233                         value='20' override='true'/>
 234                 <propval name='maximum_credits' type='integer'
 235                         value='1000' override='true'/>
 236         </property_group>
 237 
 238         <!-- SMB service-specific shares exec configuration defaults -->
 239         <property_group name='exec' type='application'>
 240                 <stability value='Evolving' />
 241                 <propval name='map' type='astring'
 242                         value='' override='true'/>
 243                 <propval name='unmap' type='astring'
 244                         value='' override='true'/>
 245                 <propval name='disposition' type='astring'
 246                         value='' override='true'/>
 247         </property_group>
 248 
 249         <!-- 6. Identify faults to be ignored. -->
 250         <!-- 7. Identify service model. Default service model is 'contract' -->
 251         <!-- 8. Identify dependents.




   5 CDDL HEADER START
   6 
   7 The contents of this file are subject to the terms of the
   8 Common Development and Distribution License (the "License").
   9 You may not use this file except in compliance with the License.
  10 
  11 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  12 or http://www.opensolaris.org/os/licensing.
  13 See the License for the specific language governing permissions
  14 and limitations under the License.
  15 
  16 When distributing Covered Code, include this CDDL HEADER in each
  17 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  18 If applicable, add the following below this CDDL HEADER, with the
  19 fields enclosed by brackets "[]" replaced with your own identifying
  20 information: Portions Copyright [yyyy] [name of copyright owner]
  21 
  22 CDDL HEADER END
  23 
  24 Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.

  25 Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
  26 Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  27 
  28 NOTE:  This service manifest is not editable; its contents will
  29 be overwritten by package or patch operations, including
  30 operating system upgrade.  Make customizations in a different
  31 file.
  32 
  33 -->
  34 
  35 <service_bundle type='manifest' name='SUNWsmbsr:smb-server'>
  36 
  37 <!-- 1. Name the service to 'network/smb/server' -->
  38 <service
  39     name='network/smb/server'
  40     type='service'
  41     version='2'>
  42 
  43         <!-- 2. Create default service instance. -->
  44         <create_default_instance enabled='false' />
  45 
  46         <!-- 3. Service has single instance -->
  47         <single_instance/>
  48 
  49         <!-- 4. Identify dependencies -->
  50 
  51         <dependency name='network'
  52             grouping='require_any'
  53             restart_on='error'
  54             type='service'>
  55                 <service_fmri value='svc:/milestone/network'/>
  56         </dependency>
  57 
  58         <!-- Must have all local filesystems mounted before we share them -->
  59         <dependency name='filesystem-local'
  60             grouping='require_all'
  61             restart_on='error'


 140         </property_group>
 141 
 142         <property_group name='read' type='application'>
 143                 <!-- To read protected parameters -->
 144                 <propval name='read_authorization' type='astring'
 145                         value='solaris.smf.read.smb' />
 146                 <propval name='value_authorization' type='astring'
 147                         value='solaris.smf.value.smb' />
 148                 <propval name='machine_passwd' type='astring' value='' />
 149         </property_group>
 150 
 151         <!-- SMB service-specific general configuration defaults -->
 152         <property_group name='smbd' type='application'>
 153                 <stability value='Evolving' />
 154                 <propval name='value_authorization' type='astring'
 155                         value='solaris.smf.value.smb' />
 156                 <propval name='oplock_enable' type='boolean'
 157                         value='true' override='true'/>
 158                 <propval name='autohome_map' type='astring'
 159                         value='/etc' override='true'/>
 160                 <propval name='bypass_traverse_checking' type='boolean'
 161                         value='true' override='true'/>
 162                 <propval name='debug' type='integer'
 163                         value='0' override='true'/>
 164                 <propval name='domain_sid' type='astring'
 165                         value='' override='true'/>
 166                 <propval name='domain_member' type='boolean'
 167                         value='false' override='true'/>
 168                 <propval name='domain_name' type='astring'
 169                         value='WORKGROUP' override='true'/>
 170                 <propval name='fqdn' type='astring'
 171                         value='' override='true'/>
 172                 <propval name='forest' type='astring'
 173                         value='' override='true'/>
 174                 <propval name='domain_guid' type='astring'
 175                         value='' override='true'/>
 176                 <propval name='pdc' type='astring'
 177                         value='' override='true'/>
 178                 <propval name='wins_server_1' type='astring'
 179                         value='' override='true'/>
 180                 <propval name='wins_server_2' type='astring'
 181                         value='' override='true'/>
 182                 <propval name='wins_exclude' type='astring'
 183                         value='' override='true'/>
 184                 <propval name='max_workers' type='integer'
 185                         value='1024' override='true'/>
 186                 <propval name='max_connections' type='integer'
 187                         value='100000' override='true'/>
 188                 <propval name='keep_alive' type='integer'
 189                         value='0' override='true'/>
 190                 <propval name='restrict_anonymous' type='boolean'
 191                         value='false' override='true'/>
 192                 <propval name='signing_enabled' type='boolean'
 193                         value='true' override='true'/>
 194                 <propval name='signing_required' type='boolean'
 195                         value='true' override='true'/>


 196                 <propval name='sync_enable' type='boolean'
 197                         value='false' override='true'/>
 198                 <propval name='security' type='astring'
 199                         value='workgroup' override='true'/>
 200                 <propval name='netbios_enable' type='boolean'
 201                         value='false' override='true'/>
 202                 <propval name='netbios_scope' type='astring'
 203                         value='' override='true'/>
 204                 <propval name='system_comment' type='astring'
 205                         value='' override='true'/>
 206                 <propval name='lmauth_level' type='integer'
 207                         value='4' override='true'/>
 208                 <propval name='ads_site' type='astring'
 209                         value='' override='true'/>
 210                 <propval name='ddns_enable' type='boolean'
 211                         value='false' override='true'/>
 212                 <propval name='kpasswd_server' type='astring'
 213                         value='' override='true'/>
 214                 <propval name='kpasswd_domain' type='astring'
 215                         value='' override='true'/>
 216                 <propval name='kpasswd_seqnum' type='integer'
 217                         value='0' override='true'/>
 218                 <propval name='netlogon_seqnum' type='integer'
 219                         value='0' override='true'/>
 220                 <propval name='ipv6_enable' type='boolean'
 221                         value='false' override='true'/>
 222                 <propval name='sv_version' type='astring'
 223                         value='5.0' override='true'/>
 224                 <propval name='dfs_stdroot_num' type='integer'
 225                         value='0' override='true'/>
 226                 <propval name='print_enable' type='boolean'
 227                         value='false' override='true'/>
 228                 <propval name='traverse_mounts' type='boolean'
 229                         value='true' override='true'/>
 230                 <propval name='max_protocol' type='astring'
 231                         value='' override='true'/>
 232                 <propval name='min_protocol' type='astring'
 233                         value='' override='true'/>
 234                 <propval name='encrypt' type='astring'
 235                         value='disabled' override='true'/>
 236                 <propval name='initial_credits' type='integer'
 237                         value='20' override='true'/>
 238                 <propval name='maximum_credits' type='integer'
 239                         value='1000' override='true'/>
 240         </property_group>
 241 
 242         <!-- SMB service-specific shares exec configuration defaults -->
 243         <property_group name='exec' type='application'>
 244                 <stability value='Evolving' />
 245                 <propval name='map' type='astring'
 246                         value='' override='true'/>
 247                 <propval name='unmap' type='astring'
 248                         value='' override='true'/>
 249                 <propval name='disposition' type='astring'
 250                         value='' override='true'/>
 251         </property_group>
 252 
 253         <!-- 6. Identify faults to be ignored. -->
 254         <!-- 7. Identify service model. Default service model is 'contract' -->
 255         <!-- 8. Identify dependents.