Using umask instead of explicit mode bits to create files/directories

David Collier-Brown David.Collier-Brown at canada.sun.com
Wed Nov 15 15:07:54 GMT 2000


Johannes Tyve wrote:
[sliced down somewhat]

> A directory contains the following acls:
> default:user::rwx
> default:user:ronnie:rwx
> default:group::r-x
> default:mask:rwx 	    -- this is going to be what's inherited
> default:other:r-x

> If I create a directory using (umask 0) mkdir("dir_mode",0755); The
> result is:
> user::rwx
> user:ronnie:rwx         #effective:r-x
> group::r-x              #effective:r-x
> mask:r-x
> other:r-x
			    -- as expected

> If I create a directory using (umask 022) mkdir("dir_umask",0777); The
> result is:
			-- I predict the 777 will be masked to 755
> user::rwx
> user:ronnie:rwx         #effective:rwx
> group::r-x              #effective:r-x
> mask:rwx
> other:r-x
			-- note that the mask is the one thing
			-- that's different: the directory is 755,
			-- as expected.


> As you see there a big difference. Using umask the acl is applied but
> using mode the mode bits are applied and the acl-mask is changed.

	Ok, both do what you'd expect to the file (phew!)

	What's interesting is what happens to the acl mask, 
	which is the ACL system's (near-)equivalent of the umask
	
	If the umask is 0, the acl mask becomes r-x (05).
	If the umask is 022 (compliment of 0755) the acl
	mask becomes rwx (07). 
	I can reproduce this on Solaris 8, with a bit of work...

	This looks backwards, somehow.


	Can you describe what is bad about this, so I can
	write it up as a bug?  

--dave (with his work hat on: see below)

[initial description]
> If a directory is created inside a direcory containing default-acl:s the
> umask will not be applied. To get this behavior in samba we had to
> modify two functions inside doscalls.c, dos_open() and dos_mkdir(). The
> functions are modified to use umask insted of mode bits to create
> files/directories.
-- 
David Collier-Brown,  | Always do right. This will gratify some people
185 Ellerslie Ave.,   | and astonish the rest.        -- Mark Twain
Willowdale, Ontario   | //www.oreilly.com/catalog/samba/author.html
Work: (905) 415-2849 Home: (416) 223-8968 Email: davecb at canada.sun.com
--or--
David Collier-Brown,  | Cherish your enemies.  They're harder to
Performance & Eng.    | come by than friends and more motivated.
Sun Canada (ACE)      | davecb at canada.sun.com
(905) 415-2849        | http://elsbeth.canada.sun.com/~davecb




More information about the samba-technical mailing list