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 >