无法写入 Samba 共享

无法写入 Samba 共享

在 Red Hat Enterprise 6.1 上运行 samba 3.5 时,我在共享两个文件夹时遇到问题。以下是输出testparm

[global]
    workgroup = DOMAINNAME
    server string = Samba Server Version %v
    interfaces = lo, eth1
    bind interfaces only = Yes
    map to guest = Bad User
    log file = /var/log/samba/log.%m
    max log size = 50
    idmap uid = 16777216-33554431
    idmap gid = 16777216-33554431
    hosts allow = 10.50.183.48, 10.50.184.41, 10.50.184.199, 10.50.183.160, 127.0.0.1
    hosts deny = 0.0.0.0/0
    cups options = raw

[test]
    comment = test folder
    path = /usr/local/samba
    valid users = claudio
    write list = claudio
    force user = claudio
    read only = No
    create mask = 0775
    directory mask = 0775

[test2]
    comment = another test
    path = /home/claudio/tst
    valid users = claudio
    write list = claudio
    force user = claudio
    read only = No
    create mask = 0775

从我所连接的 Windows XP 机器上,我可以读取test但不能写入,而test2我甚至无法访问该文件夹(虽然我可以看到它被列出)。

ls -l /usr/local
...
drwxrwxrwx. 2 claudio claudio 4096 Dec  3 10:39 samba
...

ls -l /user/local/samba
total 32
-rwxrwxrwx. 1 claudio claudio    9 Nov 29 16:26 asd.txt
-rwxrwxrwx. 1 claudio claudio  728 Dec  3 10:16 out.txt
...

ls -l /home/claudio/
...
drwxrwxr-x.  2 claudio claudio       4096 Dec  3 09:57 tst
...

ls -l /home/claudio/tst
total 4
-rw-rw-r--. 1 claudio claudio 4 Dec  3 09:57 asd.txt

有什么建议吗?

答案1

Red Hat Enterprise 默认启用了 SELinux,它提供了强制访问控制机制 (正如您可以从指南中读到的那样)。

这意味着共享文件/文件夹需要用正确的类型标记,以便能够正确共享它们(您可以通过向命令smbd添加选项来检查)。这可以通过以下命令实现Zls

chcon -t samba_share_t /path

允许在共享上写入(添加-R递归标记选项)。

相关内容