Andreas Hasenack
2018-Jun-25 17:50 UTC
[Samba] works with 4.7.6, fails with 4.8.2: echo > $(mktemp /mnt/XXXXXX)
Hi, I have a regression test suite that creates this simple share: [tmp] comment = Temp Directory guest ok = Yes path = /tmp read only = No This is mounted via SMB1: mount //localhost/tmp -o guest,vers=1.0 /mnt The client (ubuntu 18.10 dev) is using cifs-utils 2:6.8-2 from debian (it's a sync). Client and server are the same machine (localhost). When the server is 2:4.8.2+dfsg-2ubuntu1 (a package I'm preparing, based on debian's 4.8.2+dfsg-2), this fails: root at ubuntu:~# mktemp /mnt/test.XXXXXX /mnt/test.iev5IU root at ubuntu:~# echo hello > /mnt/test.iev5IU -su: /mnt/test.iev5IU: Permission denied root at ubuntu:~# l /mnt/test.iev5IU -rw-------+ 1 nobody nogroup 0 Jun 25 17:40 /mnt/test.iev5IU root at ubuntu:~# When the server is running 2:4.7.6+dfsg~ubuntu-0ubuntu2, it works: root at ubuntu:~# mktemp /mnt/test.XXXXXX /mnt/test.yGv3JP root at ubuntu:~# echo hello > /mnt/test.yGv3JP root at ubuntu:~# l /mnt/test.yGv3JP -rw-------+ 1 nobody nogroup 6 Jun 25 17:41 /mnt/test.yGv3JP The output of getcifsacl is quite different in both cases: # 4.7.6 server: root at ubuntu:~# getcifsacl /mnt/test.yGv3JP REVISION:0x1 CONTROL:0x9004 OWNER:S-1-5-21-3096988004-4058363749-2517819802-501 GROUP:S-1-22-2-65534 ACL:S-1-5-21-3096988004-4058363749-2517819802-501:ALLOWED/0x0/RW ACL:S-1-22-2-65534:ALLOWED/0x0/ ACL:S-1-1-0:ALLOWED/0x0/ # 4.8.2 server: root at ubuntu:~# getcifsacl /mnt/test.iev5IU getxattr error: 13 REVISION:0x0 CONTROL:0x0 The cifs mount in both cases is shown as: root at ubuntu:~# mount -t cifs //localhost/tmp on /mnt type cifs (rw,relatime,vers=1.0,sec=none,cache=strict,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=127.0.0.1,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1) Is this a bug that was fixed, a bug that was introduced, or neither and I'm holding it wrong? Thanks!
Andreas Hasenack
2018-Jun-25 21:38 UTC
[Samba] works with 4.7.6, fails with 4.8.2: echo > $(mktemp /mnt/XXXXXX)
I narrowed it a bit further and can see the change happening between 4.8.0 and 4.8.1. It works with 4.8.0, and I get permission denied in 4.8.1. This time I tested with plain upstream tarballs, no distribution patches. On Mon, Jun 25, 2018 at 2:50 PM, Andreas Hasenack <andreas at canonical.com> wrote:> Hi, > > I have a regression test suite that creates this simple share: > > [tmp] > comment = Temp Directory > guest ok = Yes > path = /tmp > read only = No > > This is mounted via SMB1: > mount //localhost/tmp -o guest,vers=1.0 /mnt > > The client (ubuntu 18.10 dev) is using cifs-utils 2:6.8-2 from debian > (it's a sync). Client and server are the same machine (localhost). > > When the server is 2:4.8.2+dfsg-2ubuntu1 (a package I'm preparing, > based on debian's 4.8.2+dfsg-2), this fails: > > root at ubuntu:~# mktemp /mnt/test.XXXXXX > /mnt/test.iev5IU > root at ubuntu:~# echo hello > /mnt/test.iev5IU > -su: /mnt/test.iev5IU: Permission denied > root at ubuntu:~# l /mnt/test.iev5IU > -rw-------+ 1 nobody nogroup 0 Jun 25 17:40 /mnt/test.iev5IU > root at ubuntu:~# > > > When the server is running 2:4.7.6+dfsg~ubuntu-0ubuntu2, it works: > root at ubuntu:~# mktemp /mnt/test.XXXXXX > /mnt/test.yGv3JP > root at ubuntu:~# echo hello > /mnt/test.yGv3JP > root at ubuntu:~# l /mnt/test.yGv3JP > -rw-------+ 1 nobody nogroup 6 Jun 25 17:41 /mnt/test.yGv3JP > > The output of getcifsacl is quite different in both cases: > > # 4.7.6 server: > root at ubuntu:~# getcifsacl /mnt/test.yGv3JP > REVISION:0x1 > CONTROL:0x9004 > OWNER:S-1-5-21-3096988004-4058363749-2517819802-501 > GROUP:S-1-22-2-65534 > ACL:S-1-5-21-3096988004-4058363749-2517819802-501:ALLOWED/0x0/RW > ACL:S-1-22-2-65534:ALLOWED/0x0/ > ACL:S-1-1-0:ALLOWED/0x0/ > > > # 4.8.2 server: > root at ubuntu:~# getcifsacl /mnt/test.iev5IU > getxattr error: 13 > REVISION:0x0 > CONTROL:0x0 > > > The cifs mount in both cases is shown as: > root at ubuntu:~# mount -t cifs > //localhost/tmp on /mnt type cifs > (rw,relatime,vers=1.0,sec=none,cache=strict,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=127.0.0.1,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1) > > > Is this a bug that was fixed, a bug that was introduced, or neither > and I'm holding it wrong? > > Thanks!
Apparently Analagous Threads
- Using Access Control Lists with SMB2/SMB3 Mounts on Linux Clients
- getcifsacl does not work with CIFS mount versions 2 or 3
- getcifsacl does not work with CIFS mount versions 2 or 3
- winbind sometimes does not resolve sid to a name
- Using Access Control Lists with SMB2/SMB3 Mounts on Linux Clients