[Samba] User executional bit set when creating/modifying file on linux server from linux client

Fredrik Liljegren fredrik at liljegren.org
Wed Dec 2 07:01:35 MST 2009


Jeff Layton wrote:
> On Wed, 02 Dec 2009 10:19:52 +0100
> Fredrik Liljegren <fredrik at liljegren.org> wrote:
>
>   
>> Whenever I create or modify a file on my cifs-mount, be it by `echo
>> "test" >> file` or from bash, the file mode is changed with u+x.
>> However, that does not happen with touch, and usign chmod u-x works as
>> it should.  This is very annoying...
>>     
> That is strange, I'm not aware of anything in cifs that would change inode
> permissions on a write call. Some questions:
>
> What mount options are you using?
>   
I used
nodfs,rw,iocharset=utf8,localcharset=utf8,uid=fiddur,gid=fiddur,credentials=/home/fiddur/.effie-smb

Hmm, could it be nodfs that messes it up?  That's a remnant of earlier
tries to get this right...

I discovered now that using file_mode=0664,dir_mode=0775 works, but that
is quite suboptimal...


> Does the server have any special "create mode" or "create mask" type
> settings that might affect the mode assigned to the inode?
>   
The server uses:
  force create mode = 0664
  force directory mode = 0775

...but I guess it is unix extensions that makes files other than 0664.

> What kernel is this client running?
>   
2.6.30-1-amd64 from debian.

> What kernel is the ubuntu client running?
>   
The ubuntu mount used file_mode and dir_mode in the mounting, so that
would be the reason for the difference.  (It's a collegues computer...)

> It might be interesting to see a wire capture while recreating this.
> Instructions on doing that are here:
>
> http://wiki.samba.org/index.php/LinuxCIFS_troubleshooting
>
> If you like, you can send the capture to me directly and I'll have a
> look.
>   
Here's the output from a `echo "test" > test1` where test1 gets u+x
(including it, it's <100 rows):

[195493.276026] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_writepages as Xid: 940557 with uid: 0
[195493.276031] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_writepages (xid = 940557) rc = 0
[195500.523217] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: in cifs_revalidate as Xid: 940558 with uid: 1000
[195500.523224] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Revalidate: /tmp/test1 inode 0xffff880112cf75e0 count 1 dentry:
0xffff880112cb18c0 d_time 4343754864 jiffies 4343767426
[195500.523228] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Getting info on /tmp/test1
[195500.523231] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In QPathInfo (Unix) the path /tmp/test1
[195500.523252] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 50
[195500.523255] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 98
[195500.523618] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0xa4
[195500.523628] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Old time 4343754864
[195500.523630] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
New time 4343767426
[195500.523634] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Size 5 and blocks 8
[195500.523636] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
cifs_revalidate - inode unchanged
[195500.523641] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_writepages as Xid: 940559 with uid: 1000
[195500.523645] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_writepages (xid = 940559) rc = 0
[195500.523648] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: leaving cifs_revalidate (xid = 940558) rc = 0
[195500.523654] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
setattr_unix on file test1 attrs->ia_valid=0x8068
[195500.523657] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: in cifs_setattr_unix as Xid: 940560 with uid: 1000
[195500.523661] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In SetEOF
[195500.523664] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 50
[195500.523666] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 108
[195500.524330] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0x3e
[195500.524337] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
SetEOF by path (setattrs) rc = 0
[195500.524345] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In SetUID/GID/Mode
[195500.524348] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 50
[195500.524351] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 200
[195500.524624] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0x3e
[195500.524632] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: leaving cifs_setattr_unix (xid = 940560) rc = 0
[195500.524636] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_open as Xid: 940561 with uid: 1000
[195500.524640] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
inode = 0xffff880112cf75e0 file flags are 0x8241 for /tmp/test1
[195500.524645] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 162
[195500.524647] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 110
[195500.524946] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0x6b
[195500.524954] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_writepages as Xid: 940562 with uid: 1000
[195500.524957] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_writepages (xid = 940562) rc = 0
[195500.524960] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
invalidating remote inode since open detected it changed
[195500.524965] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Getting info on /tmp/test1
[195500.524967] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In QPathInfo (Unix) the path /tmp/test1
[195500.524971] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 50
[195500.524973] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 98
[195500.525275] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0xa4
[195500.525282] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Old time 4343767426
[195500.525284] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
New time 4343767427
[195500.525287] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Size 0 and blocks 8
[195500.525290] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
Exclusive Oplock granted on inode ffff880112cf75e0
[195500.525293] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_open (xid = 940561) rc = 0
[195500.525301] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_writepages as Xid: 940563 with uid: 1000
[195500.525305] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_writepages (xid = 940563) rc = 0
[195500.525308] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
Flush inode ffff880112cf75e0 file ffff8800a582e140 rc 0
[195500.525316] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/xattr.c:
CIFS VFS: in cifs_getxattr as Xid: 940564 with uid: 1000
[195500.525320] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/xattr.c:
illegal xattr request security.capability (only user namespace supported)
[195500.525323] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/xattr.c:
CIFS VFS: leaving cifs_getxattr (xid = 940564) rc = -95
[195500.525326] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
write_begin from 0 len 5
[195500.525332] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
write_end for page ffffe20004222248 from pos 0 with 5 bytes
[195500.525339] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_writepages as Xid: 940565 with uid: 1000
[195500.525343] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
write2 at 0 5 bytes
[195500.525346] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 47
[195500.525349] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 73
[195500.525642] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0x33
[195500.525648] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/misc.c:
Null buffer passed to cifs_small_buf_release
[195500.525652] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_writepages (xid = 940565) rc = 0
[195500.525656] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
Flush inode ffff880112cf75e0 file ffff8800a582e140 rc 0
[195500.525659] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: in cifs_close as Xid: 940566 with uid: 1000
[195500.525662] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In CIFSSMBClose
[195500.525665] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 4
[195500.525667] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 45
[195500.525900] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0x27
[195500.525907] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
closing last open instance for inode ffff880112cf75e0
[195500.525910] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/file.c:
CIFS VFS: leaving cifs_close (xid = 940566) rc = 0
[195501.720952] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifsfs.c:
CIFS VFS: in cifs_statfs as Xid: 940567 with uid: 1000
[195501.720956] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In QFSPosixInfo
[195501.720967] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 50
[195501.720971] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 72
[195501.721473] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0x74
[195501.721496] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifsfs.c:
CIFS VFS: leaving cifs_statfs (xid = 940567) rc = 0
[195501.721503] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: in cifs_revalidate as Xid: 940568 with uid: 1000
[195501.721510] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Revalidate:  inode 0xffff88013f4e7d78 count 2 dentry: 0xffff8801036e0d40
d_time 4341159525 jiffies 4343767726
[195501.721513] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Getting info on
[195501.721516] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/cifssmb.c:
In QPathInfo (Unix) the path
[195501.721520] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
For smb_command 50
[195501.721523] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/transport.c:
Sending smb:  total_len 78
[195501.721868] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/connect.c:
rfc1002 length 0xa4
[195501.721884] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Old time 4343752725
[195501.721887] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
New time 4343767726
[195501.721890] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Size 0 and blocks 0
[195501.721893] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
cifs_revalidate - inode unchanged
[195501.721898] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: leaving cifs_revalidate (xid = 940568) rc = 0
[195501.721953] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: in cifs_revalidate as Xid: 940569 with uid: 1000
[195501.721958] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
Revalidate:  inode 0xffff88013f4e7d78 count 2 dentry: 0xffff8801036e0d40
d_time 4341159525 jiffies 4343767726
[195501.721962] 
/build/buildd-linux-2.6_2.6.30-4-amd64-zA7FCt/linux-2.6-2.6.30/debian/build/source_amd64_none/fs/cifs/inode.c:
CIFS VFS: leaving cifs_revalidate (xid = 940569) rc = 0



More information about the samba mailing list