[Bug 271922] Re: Default ACL not applied on files created through CIFS filesystem (mount.cifs)

Etienne Goyer etienne.goyer at canonical.com
Thu Sep 18 23:04:35 BST 2008


** Description changed:

  Binary package hint: smbfs
  
  When creating files on a CIFS-mounted filesystem, default ACL are not
  inherited.  However, directory created on same CIFS-mounted filesystem
  works just fine.
  
  Both server and client are Ubuntu 8.04.  On the server, running samba
  3.0.28a-1ubuntu4.5, smb.conf is entirely distribution-default, except
  for the share definition:
  
  [share]
          path = /srv/share
          read only = No
          inherit acls = Yes
  
  Note that, in examples below, ubuntu is uid 1000 on both hardy-server
  and hardy-desktop.
  
  On the server:
  
  ubuntu at hardy-server:~$ umask
  0022
  ubuntu at hardy-server:~$ cd /srv/share
  ubuntu at hardy-server:/srv/share$ sudo mkdir test-acl
  ubuntu at hardy-server:/srv/share$ sudo chown ubuntu:ubuntu test-acl
  ubuntu at hardy-server:/srv/share$ setfacl -m d:o:rwx test-acl
  ubuntu at hardy-server:/srv/share$ mkdir test-acl/dir-local
  ubuntu at hardy-server:/srv/share$ touch test-acl/file-local
  ubuntu at hardy-server:/srv/share$ getfacl -R test-acl
  # file: test-acl
  # owner: ubuntu
  # group: ubuntu
  user::rwx
  group::r-x
  other::r-x
  default:user::rwx
  default:group::r-x
  default:other::rwx
  
  # file: test-acl/dir-local
  # owner: ubuntu
  # group: ubuntu
  user::rwx
  group::r-x
  other::rwx
  default:user::rwx
  default:group::r-x
  default:other::rwx
  
  # file: test-acl/file-local
  # owner: ubuntu
  # group: ubuntu
  user::rw-
  group::r--
  other::rw-
  
  
  So far so good.  Now, on the client, which have smbfs 3.0.28a-1ubuntu4.6 from hardy-proposed installed:
  
- ubuntu at hardy-desktop-krb5:~$ uname -r
+ ubuntu at hardy-desktop:~$ uname -r
  2.6.24-20-generic
- ubuntu at hardy-desktop-krb5:~$ modinfo -F version cifs
+ ubuntu at hardy-desktop:~$ modinfo -F version cifs
  1.52
  ubuntu at hardy-desktop:~$ umask
  0022
  ubuntu at hardy-desktop:~$ grep hardy-server /etc/fstab
  //hardy-server.montreal.canonical.com/share     /home/ubuntu/hardy-server       cifs    user,username=ubuntu,password=whatever    0       0
  ubuntu at hardy-desktop:~$ mkdir /home/ubuntu/hardy-server
  ubuntu at hardy-desktop:~$ mount /home/ubuntu/hardy-server
  ubuntu at hardy-desktop:~$ cd /home/ubuntu/hardy-server/test-acl
  ubuntu at hardy-desktop:~/hardy-server/test-acl$ mkdir dir-cifs
  ubuntu at hardy-desktop:~/hardy-server/test-acl$ touch file-cifs
  
  Now, I cannot use getfacl to display the ACL from the client as the cifs
  module have not been compiled with CONFIG_CIFS_XATTR, but from the
  server:
  
  ubuntu at hardy-server:/srv/share/test-acl$ getfacl *-cifs
  # file: dir-cifs
  # owner: ubuntu
  # group: ubuntu
  user::rwx
  group::r-x
  other::rwx
  default:user::rwx
  default:group::r-x
  default:other::rwx
  
  # file: file-cifs
  # owner: ubuntu
  # group: ubuntu
  user::rw-
  group::r--
  other::r--
  
  We can see the directory inherited the default ACL, but the file created
  on the client over the CIFS-mounted file system do not appear to have
  got the w permission propagated from the parent directory as expected.
  Even more puzzling, it appear to work as expected when using smbclient:
  
  ubuntu at hardy-desktop:~$ touch file-smbclient
  ubuntu at hardy-desktop:~$ smbclient //hardy-server/share
  Password: 
  Domain=[HARDY-SERVER] OS=[Unix] Server=[Samba 3.0.28a]t
  smb: \> cd test-acl
  smb: \test-acl\> mkdir dir-smbclient
  smb: \test-acl\> put file-smbclient 
  putting file file-smbclient as \test-acl\file-smbclient (0.0 kb/s) (average 0.0 kb/s)
  smb: \test-acl\> quit
  
  Witness on the server:
  
  ubuntu at hardy-server:~$ getfacl /srv/share/test-acl/*-smbclient
  getfacl: Removing leading '/' from absolute path names
  # file: srv/share/test-acl/dir-smbclient
  # owner: ubuntu
  # group: ubuntu
  user::rwx
  group::r-x
  other::rwx
  default:user::rwx
  default:group::r-x
  default:other::rwx
  
  # file: srv/share/test-acl/file-smbclient
  # owner: ubuntu
  # group: ubuntu
  user::rwx
  group::r-x
  other::rwx
  
  
  I am puzzled.  Could it relate to the umask?  acl(5) seems to imply it could.  But then, the umask is the same on both hardy-desktop and hardy-desktop (0022) and yet, the actual behavior differ depending on if the file is created locally or through a CIFS-mounted file system (it should not).  Maybe I am just confused about what the correct behavior should be in the first place.

-- 
Default ACL not applied on files created through CIFS filesystem (mount.cifs)
https://bugs.launchpad.net/bugs/271922
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to samba in ubuntu.



More information about the Ubuntu-server-bugs mailing list