[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