Search code examples
windowspermissionsaclsambasolaris-10

Samba share issue


I'm working on a samba share solution, but I'm facing an issue. I have a RHEL server with a NFS shared folder mounted on a Solaris 10 server; everything's working at this step. Then, I share with samba this same folder to be able to have a read-only access from a MS Windows machine.

Here is the issue that I'm facing, I've the following files in my folder:

-rw-r--r--+     1     root       root         0        Jun 13 2012     file1.log
-rw-r--r--+     1     root       root         35856    Jun 13 2012     file2.log
drwxr-xr-x+     12    nobody     grp-app      4096     Jul 8 12:45     folder1
drwxr-xr-x+     10    root       root         4096     Jun 13 2012     folder2
drwx------+     2     root       root         16384    Jun 12 2012     lost+found

But, once connected on the folder \server-smb\shared-folder on the windows server, I can only see: folder1.

Here is my Samba configuration:

[shared-folder]
    comment = Shared folder
    path = /path/shared-folder
    valid users = toto
    read only = yes

Here is the ACL applied to these files:

-rw-r--r--+     1     root     root     0         Jun 13 2012     file1.log
    0:owner@:read_data/write_data/append_data/read_attributes /write_attributes/read_acl/write_acl/synchronize:allow
    1:user:unknown:read_data/read_attributes/read_acl/synchronize:allow
    2:everyone@:read_data/read_attributes/read_acl/synchronize:allow
-rw-r--r--+     1     root     root     35856     Jun 13 2012     file2.log
    0:owner@:read_data/write_data/append_data/read_attributes/write_attributes/read_acl/write_acl/synchronize:allow
    1:user:unknown:read_data/read_attributes/read_acl/synchronize:allow
    2:everyone@:read_data/read_attributes/read_acl/synchronize:allow
drwxr-xr-x+     12    nobody   grp-app  4096      Jul 8 12:45     folder1
    0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory/append_data/execute/delete_child/read_attributes/write_attributes/read_acl/write_acl/synchronize:allow
    1:user:unknown:list_directory/read_data/execute/read_attributes/read_acl/synchronize:allow
    2:everyone@:list_directory/read_data/execute/read_attributes/read_acl/synchronize:allow
drwxr-xr-x+     10    root     root     4096      Jun 13 2012     folder2
    0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory/append_data/execute/delete_child/read_attributes/write_attributes/read_acl/write_acl/synchronize:allow
    1:user:unknown:list_directory/read_data/execute/read_attributes/read_acl/synchronize:allow
    2:everyone@:list_directory/read_data/execute/read_attributes/read_acl/synchronize:allow
drwx------+     2     root     root     16384     Jun 12 2012     lost+found
    0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory/append_data/execute/delete_child/read_attributes/write_attributes/read_acl/write_acl/synchronize:allow
    1:user:unknown:read_attributes/read_acl/synchronize:allow
    2:everyone@:read_attributes/read_acl/synchronize:allow

Do you have an idea of what can cause this issue and how to solve it?

Thank you. Best regards,


Solution

  • The error was due to the ACL.

    It seems that the bug around the ACL appears when using NFS v3 or v4. The issue appears also with the latest Samba version (4.1.1). The issue appears even if “no_acl” is set on the exports and “noxattr” is set on the mount.

    The solution: force NFS v2 between Linux and Solaris.