2.0.7: inherit permissions = yes breaks setting read-only on files

Robert Dahlem Robert.Dahlem at gmx.net
Thu Aug 24 08:14:07 GMT 2000


On Wed, 23 Aug 2000 15:26:43 +0400, Michael Tokarev wrote:

>BTW, I don't know why this thing does not compiles at Robart's

It complains about line 2 of

	int ret=dos_to_unix(dname,False),mode);
	if(!ret && !dos_stat(dname,&sbuf) && mode & ~sbuf.st_mode)

This is a declaration [int ret], 
then code [=dos_to_unix(dname,False),mode);], 
then another declaration [SMB_STRUCT_STAT sbuf;]

It does not allow declarations behind code ...

>But these are _so_ unimportant things...


>The main question is -- how to write autoconf stuff and commit this 
>to samba.

Well, I sniffed around a bit. The original patch was from 
gcarter at lanier.com. I sent a mail over there asking for some 
explanation, bid did not receive anything yet.

The only thing DejaNews knows about this address is a posting to samba 
(-technical?) in 10 oder 11/1999 asking for some special features of 
an OS named "Dynx/PTX 4.46". I think this should be "Dynix". DejaNews 
at the moment archives only back until 05/1999 or so.

My own archive of the samba mailing list reaches back until 1996 and 
what I found there was really interesting:

    >I've set "force directory mode = 1775" in smb.conf, but when
    >I make directories in a share through network neighborhood, I
    >end up with 0775, i.e. user has rwx, group rwx, others rx.
    >The sticky bit is not getting set.

    You need to use "directory mode" also.
    Then, there's a problem in samba <= 2.0.6 regarding the sticky
    Jeremy Allison posted a patch that will be in 2-0-7:

    --- source/lib/doscalls.c  Thu Apr  8 14:13:01 1999
    +++ source/lib/doscalls.c      Tue Dec  7 19:08:41 1999
    + Cope with UNIXes that don't allow high order mode bits on mkdir.
    + Patch from gcarter at lanier.com.

In fact, at least Linux does not handle mkdir("dir", 0n777) with n!=0 
as expected: the mode seems to be and-ed with 0777.

I read you have access to some lot of operating systems. Could you 
give mkdir("dir", 01777) a try?

More information about the samba-technical mailing list