On 9/28/2010 2:13 PM, Nicolas Williams wrote:

>> Or aclmode=deny, which is pretty simple, not very confusing, and basically
>> the only paradigm that will prevent chmod from breaking your ACL.
>
> That can potentially render many applications unusable.

Yes. Which is why it obviously wouldn't be the default, and probably highly inadvisable for a root pool. But for a data file system whose usage model demands pure ACLs, which you want to make sure are never discarded, why shouldn't it be available?

> Suppose you make chmod(1) not use chomd(2)

Now you're just being pedantic ;).

> But then what about scripts that use chmod(1)?

The user/administrator who intentionally elected to implement the nondefault option clearly cares more about not losing their ACLs than about some random scripts failing. It seems the vast majority of arguments against implementing this option have been of the form "bad thing <foo> might happen, and the user would be <confused|angry|sad>". It's my foot, I don't appreciate people trying to prevent me from shooting it, particularly if there happens to be some poisonous animal sitting on it that is the actual target :).

The version of samba bundled with Solaris 10 seems to insist on chmod'ing stuff. I've tried all of the various options that should disable mapping to mode bits, yet still randomly when people copy files in over CIFS, ACL's get destroyed by chmod interaction and access control is broken. I finally ended up having to preload a shared object that overrides chmod and turns it into a nullop. This would have been the perfect scenario for aclmode=ignore, I don't care what samba may or may not want to do, if the file has an ACL I don't want it mucked with. So why exactly shouldn't I have that functionality available for this scenario?

> Seems like a lot of work for little gain, and high
> support call generation rate.

Yup. I agree that any attempt to impose sanity on the application of chmod onto an object with an ACL by somehow combining the existing ACL with the new mode is pointless. It seems that there are three reasonable options when attempting to update the permissions of an object with an ACL via the legacy chmod call -- just discard the ACL, deny the attempted change, or ignore it.

>> Yep. And a good first step towards an ACL world would be providing a way to
>> keep chmod from destroying ACLs in the current world...
>
> I don't think that will happen...

Not in the official Oracle version of Solaris, but given Oracle's choices it seems that's not going to be the only version of the OpenSolaris code base floating around. Maybe the Illumos community will be a little more open to providing users with functionality that could be extremely valuable in some scenarios and doesn't hurt anybody who doesn't intentionally choose to use it... I said before I'd be willing to implement it myself if there was some reasonable likelihood it would be accepted, once the whole Illumos thing settles down I think I'll make that offer again and see what happens.


--
Paul B. Henson  |  (909) 979-6361  |  http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst  |  hen...@csupomona.edu
California State Polytechnic University  |  Pomona CA 91768
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to