ACLs for CIFS/SMB shares [PSARC/2008/641 FastTrack timeout 10/27/2008]

Tim Haley Tim.Haley at sun.com
Mon Oct 20 09:43:31 PDT 2008


I am sponsoring the following fasttrack for Doug McCallum.  The case
introduces ACLs to control access to SMB shares.  Requested binding is
minor.  Timeout is 10/27/2008.

Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 ACLs for CIFS/SMB shares
    1.2. Name of Document Author/Supplier:
	 Author:  Doug McCallum
    1.3  Date of This Document:
	20 October, 2008

2. Project Summary
   2.1. Project Description:
	Project is to provide ACLs at the CIFS/SMB "share" level.
	This is a standard feature in Microsoft implementations and
	is needed for completeness. ACLs on shares will only be supported
	on ZFS file systems.

   2.2. Risks and Assumptions:
	Assumes changes to ZFS to provide a place to store the share
	ACLs.

4. Technical Description:

    4.1. Details:

	During SMB "tree connect" is will be necessary to get the ACL
	that is set on a share and use it to setup the initial access.
	The ACLs are expected to be stored in objects within a new
	directory under .zfs. /dataset/.zfs/shares/ will contain
	objects with names that match the shares defined on that
	dataset. Just before the tree connect, the sharename will be
	looked up in the .zfs/shares directory, the ACLs obtained and
	then processed relative to the user making the tree
	connect. The result of processing the ACL will be used to
	determine access.

	The ZFS changes will include a means to create/remove the
	share objects within the new .zfs/shares directory. Once
	created, it will also be possible to use the standard ACL
	interfaces to get/set ACLs on these new objects. That is,
	chmod and ls will be used.

	Note that there can be multiple shares (resources) for any
	given path that is shared. This mechanism allows setting
	different ACLs for the same path depending on the name it is
	associated with.

	CIFS is the only protocol we currently support that has the
	concept of shares (resources in sharemgr/share terms) so this
	implementation will initially only provide support for CIFS.


    4.2. Bug/RFE Number(s):
	6582163 Access Control List (ACL) for Shares
    
    4.3. In Scope:
	Only ZFS file systems will be supported.

    4.4. Out of Scope:
    
    4.5. Interfaces:
	Standard ACL interfaces will be used (ls, chmod).
    
    4.6. Doc Impact:
	CIFS Administration Guide

        Modification to the zfs(1M) man page:
	----------------------------------------------------------

         When the "sharesmb" property is changed for  a  dataset,
         the dataset and any children inheriting the property are
         re-shared with the new options, only if the property was
         previously  set  to "off", or if they were shared before
         the property was changed. If the new property is set  to
         "off", the file systems are unshared.

+	 When SMB shares are created, the SMB share name appears as an
+	 entry in the .zfs/shares directory. You can use the ls or
+	 chmod command to display the share-level ACLs on the entries
+	 in this directory.

	----------------------------------------------------------

    
    4.7. Admin/Config Impact:
    	N/A
    
    4.8. HA Impact:
	N/A
    
    4.9. I18N/L10N Impact:
	N/A
    
    4.10. Packaging & Delivery:
	N/A (existing packages will be used)
    
    4.11. Security Impact:
	Doesn't change any existing security APIs or features. It does
	add an additional security mechanism.
    
    4.12. Dependencies:
	N/A

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open




More information about the opensolaris-arc mailing list