Lisa,

Let me ask a different way....  Should Nautilus be modified
to take advantage of the new interface?

Thanks,

John

Lisa Week wrote:
> 
> On Dec 22, 2009, at 10:27 AM, John Fischer wrote:
> 
>> Lisa,
>>
>> How will this impact desktop components like Nautilus?
>> Does there need to be a corresponding update?
>>
> 
> As far as I can tell, this will not affect Nautilus.
> 
> Thanks,
> Lisa
> 
>>
>> Tim Haley wrote:
>>> I am sponsoring the following fast-track for Lisa Week.  It introduces
>>> a new reserved uid and gid for purposes of improved ACL manipulation
>>> when an id is not mappable by the client or server.  Requested binding
>>> is patch/micro.  Timeout is 1/6/2010.
>>> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
>>> This information is Copyright 2009 Sun Microsystems
>>> 1. Introduction
>>>    1.1. Project/Component Working Name:
>>>      Reserved uid/gid for distinguishing unmappable users/groups in 
>>> NFSv4 ACLs
>>>    1.2. Name of Document Author/Supplier:
>>>      Author:  Lisa Week
>>>    1.3  Date of This Document:
>>>     21 December, 2009
>>> 4. Technical Description
>>> When Access Control Lists (ACLs) are sent over the wire in NFSv4 the
>>> users and groups in the Access Control Entries (ACEs) are in the form
>>> of UTF-8 strings. nfsmapid(1M) is responsible for translating or mapping
>>> these strings into valid users and groups on the client and server.
>>> If there are entries in the ACL that cannot be mapped to valid users
>>> or groups we run into the two type of problems:
>>> Case 1: Upon doing a get ACL operation, the server may send the client
>>>     an ACL with a user or group that the client does not know
>>>     about.
>>> Case 2: Upon doing a set ACL operation, the client may
>>>     send the server an ACL with a user or group that the server
>>>     does not know about.
>>> Currently, the NFSv4 implementation will fail the operations in both
>>> Case 1 and 2.  Case 2 remains valid (i.e. it is appropriate to fail
>>> the set ACL operation), but Case 1 has proven to be confusing to users
>>> as it causes simple operations such as "ls -l" and "ls -l[V|v]" to
>>> fail with "Permission denied".
>>> Proposed Solution:
>>> ------------------
>>> This case proposes a new reserved uid and gid in the vendor range
>>> (0-99) that the NFSv4 client and server will use to designate that an
>>> unmappable user or group has been detected in the ACE of an ACL.  This
>>> reserved uid and gid will be installed in /etc/passwd (also
>>> /etc/shadow) and /etc/group, respectively.
>>> The /etc/passwd entry will be as follows:
>>> unknown:x:96:96:Unknown Remote UID:/:
>>> The /etc/shadow entry will be as follows:
>>> unknown:NP:::::::
>>> The /etc/group entry will be as follows:
>>> unknown::96:
>>> The client will map users or groups in an ACL that are unmappable to
>>> this newly reserved uid/gid.  This reserved uid/gid will not be allowed
>>> to be set in an ACL from the Solaris NFSv4 client.
>>> Example:
>>> For this example, we will assume we have the following ACL set on a
>>> file at the server:
>>> (nfs-server:/export):37 % ls -lV aclfile
>>> -rw-r--r--+  1 lisagab     staff           0 Nov 25 16:47 aclfile
>>>          user:junkuser:rwx-----------:-------:deny
>>>                 owner@:--x-----------:-------:deny
>>>                 owner@:rw-p---A-W-Co-:-------:allow
>>>                 group@:-wxp----------:-------:deny
>>>                 group@:r-------------:-------:allow
>>>              everyone@:-wxp---A-W-Co-:-------:deny
>>>              everyone@:r-----a-R-c--s:-------:allow
>>> (Note: "junkuser" is a user that is not mappable to a valid user on
>>> the NFSv4 client.)
>>> Behavior before the fix:
>>> -------------------------------
>>> The end user on the NFSv4 client saw a simple "ls -lV" failing:
>>> (old-nfs-client:/mnt):6 % df /mnt
>>> Filesystem            kbytes    used   avail capacity  Mounted on
>>> nfs-server:/export   57621265      23 57621242     1%    /mnt
>>> (old-nfs-client:/mnt):11 % ls -lV aclfile
>>> ls: can't read ACL on aclfile: Permission denied
>>> -rw-r--r--   1 lisagab  staff          0 Dec 16 17:31 aclfile
>>> Behavior after the fix:
>>> ----------------------------
>>> The end user on the NFSv4 client will see:
>>> (new-nfs-client:/mnt):21 % ls -lV aclfile
>>> -rw-r--r--+  1 lisagab     staff           0 Nov 25 16:47 aclfile
>>>           user:unknown:rwx-----------:-------:deny
>>>                 owner@:--x-----------:-------:deny
>>>                 owner@:rw-p---A-W-Co-:-------:allow
>>>                 group@:-wxp----------:-------:deny
>>>                 group@:r-------------:-------:allow
>>>              everyone@:-wxp---A-W-Co-:-------:deny
>>>              everyone@:r-----a-R-c--s:-------:allow
>>> If an end user tries to do a read, modify, write ACL operation on the
>>> NFSv4 client on an ACL with an unmappable user/group they will see:
>>> (new-nfs-client:/mnt):22 % chmod A+user:lisagab:rwx:allow aclfile
>>> chmod: ERROR: Failed to set ACL: Permission denied
>>> If a user tries to do a NON-read,modify,write ACL operation on the
>>> NFSv4 client, everything works as expected (because the unknown user
>>> is not in the ACL):
>>> (new-nfs-client:/mnt):26 % chmod A=user:lisagab:rwx:allow aclfile
>>> (new-nfs-client:/mnt):27 % ls -lV
>>> total 4 ----------+ 1 lisagab staff 0 Nov 25 16:47 aclfile
>>> user:lisagab:rwx-----------:-------:allow
>>> Alternative solutions considered:
>>> --------------------------------------------
>>> 1. Repurposing "nobody4" user rather than reserving a new user:
>>> The "nobody4" user is the anonymous user account that is the SunOS 4.X
>>> software version of the "nobody" account.  As a reminder, the "nobody"
>>> account secures NFS resources.  When a user is logged in as root on an
>>> NFS client and attempts to access a remote file resource, the UID
>>> number changes from 0 to the UID of nobody (60001).
>>> There are no major technical problems behind reusing nobody4, the main
>>> problems revolve around documentation and the current user base's
>>> understanding of what this user/group is for.  There would be a large
>>> amount of documentation updates needed in order to repurpose nobody4
>>> from the SunOS 4.X anonymous account to the new "Unknown Remote UID".
>>> Of course, we also have to update documentation for adding a new
>>> user/group, but there is no risk assumed.  Risk is introduced when we
>>> consider all of the external documentation sites that have information
>>> about nobody4 documented.  We do not control these sites and expect
>>> that we will introduce customer confusion if we repurpose.
>>> A good example is: there are external documentation sites out there
>>> that advise users to get rid of the "nobody4" account as it is
>>> unneeded.  How can we make sure that we change this practice?  It
>>> seems like it may be close to impossible.
>>> E.g.
>>> http://www.accs.com/p_and_p/SolSec/clean.html
>>> http://www.mail-archive.com/focus-sun at securityfocus.com/msg00067.html
>>> http://www.gotroot.com/tiki-index.php?page=Solaris+Hardening+Guide
>>> 2. Reusing "noaccess" user/ group rather than reserving a new 
>>> user/group:
>>> The "noaccess" user/group is an account assigned to a user/group or a
>>> process that needs access to a system through some application without
>>> actually logging into the system.
>>> Reusing this account would introduce the side effect that users cannot
>>> set ACLs with the noaccess user or group in ACLs over NFS.  They would
>>> still be able to do this on local file systems, but not on NFS.  This
>>> leaves NFS at a disadvantage and since the noaccess user/group already
>>> has well defined semantics, it is deemed not suitable for this
>>> purpose.
>>> Man page changes:
>>> --------------------------
>>> The new reserved user and group will be documented in the appropriate
>>> man pages and system administration guides.  Documentation addendum is
>>> as shown below:
>>> To documentation associated with the default passwd file contents:
>>> User Name     User ID     Description
>>> unknown         96        Account reserved for unmappable users in 
>>> NFSv4 ACLs
>>> Those documentation with the default group file contents
>>> User Name     Group ID     Description
>>> unknown         96         Account reserved for unmappable groups in 
>>> NFSv4 ACLs
>>> 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
>>> _______________________________________________
>>> opensolaris-arc mailing list
>>> opensolaris-arc at opensolaris.org
>> _______________________________________________
>> opensolaris-arc mailing list
>> opensolaris-arc at opensolaris.org
> 

Reply via email to