[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [nfsv4] proposed slight change to ACCESS and wordsmithing changes for chapter 18 (thru the LINK operation)
On Mon, Apr 07, 2008 at 03:00:21PM -0700, Mike Eisler wrote:
> http://eisler.com/nfsv4-wg/2008-04-07-ch18_thru_link.html
>
> The slight change to ACCESS is require that servers only
> look at the execute bits when determining if a user can execute
> the file. The rationale is in the proposed changes.
Seems sensible to me. (And the path-searching example is interesting.
Have any users actually stumbled across that kind of problem before?)
Sure is a lot of text, though.
"Note that the reply's supported and access fields MUST NOT
contain more values than originally sent in the requests access
field."
There's a missing apostrophe in "requests":
"For example, if the client sends an ACCESS operation with only
the ACCESS4_READ value set and the server supports this value,
the server can set only ACCESS4_READ in the supported field even
if it could have reliably checked other values."
"must not set more than" would be clearer than "can set only".
"The reply's access field MUST NOT contain more values than in
the supported field."
Drop the "in".
"Requiring users and administers to set read permissions on
executable files in order to access them over NFS is not going
to be acceptable some people."
"some people" should be "to some people".
"Suppose the client's access() interface returns X_OK if the
user is privileged, no execute permission bits are set on the
regular file's attribute, and the server's access() interface
does not return X_OK in that situation."
The first comma should be an "and". (The final "and the server's..." is
not a continuation of the same list of suppositions.) The following
paragraph gets it right (though the first comma is unnecessary). It
might also help clarify if the final "and" were made a "but", to
emphasize the contrast.
"The client owns overall responsibility for determining execute
access, and relies on the server to parse the execution
permissions"
Should be "execute" permissions.
"If the client is sending ACCESS in order to determine if the
user can read the file, the client SHOULD set ACCESS4_READ in
the request's access field."
Do we really need to say this here?
"it SHOULD send an ACCESS request with both the ACCESS4_EXECUTE
and ACCESS4_READ bits set the request's access field."
"set" should be "set in".
"If the server supports execute permission bits, it MUST check
just the execute permissions in the mode, acl, and dacl
attributes when it receives an ACCESS request with
ACCESS4_EXECUTE set the access field."
"set" should be "set in". Also, I think it would be simpler and more
accurate to say something like:
"If the server supports execute permission bits, it MUST check
only execute premissions, not read permissions, when determining
whether the reply will have ACCESS4_EXECUTE set in the access
field or not."
("More accurate" because I think it's possible for the server to have
some other security mechanism unknown to the protocol that could deny
execute permissions.)
"If the server supports read permission bits, it MUST only check
for read permissions in the mode, acl, and dacl attributes when
it receives an ACCESS request with ACCESS4_READ set the access
field. The server MUST NOT also examine execute permission bits
when determining whether the reply will have ACCESS4_READ set in
the access field or not."
Does this need to be said here?
--b.
_______________________________________________
nfsv4 mailing list
nfsv4 at ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4