首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >桑巴许可被拒绝

桑巴许可被拒绝
EN

Unix & Linux用户
提问于 2019-10-31 13:45:26
回答 1查看 730关注 0票数 1

我需要在Linux主机(Samba Server)、Linux (Client)和Windows (Client)之间部署Samba共享。现在,服务器上的这个文件夹将在Linux和Windows客户端机器之间共享文档。在Server上,我做了两个测试用户,让我们称他们为威尼斯和约翰。现在,在Server上,我为Samba设置了文件上下文,启用了RO和RW布尔,并为john和威尼斯设置了权限

代码语言:javascript
复制
> getfacl: Removing leading '/' from absolute path names
> # file: samba/docs/
> # owner: venice
> # group: venice user::rwx user:venice:rwx user:john:rwx group::r-x mask::rwx other::r-x default:user::rwx default:user:venice:rwx
> default:user:john:rwx default:group::r-x default:mask::rwx
> default:other::r-x

在samba配置文件中,我做了以下配置

代码语言:javascript
复制
[smbdocs]
        comment = Documents share
        path = /samba/docs
        browseable = yes
        read only = yes
        write list = venice john
        guest ok = no
        printable = no
        hosts allow = 10.8.8.51

在桑巴上安装时使用

代码语言:javascript
复制
mount.cifs //10.8.8.50/smbdocs -o username=venice,password=pass /samba/docs/ 

im无法使用威尼斯和john用户创建文件,尽管系统级权限和Samba级别允许创建文件。

现在如果我用威尼斯的uid和gid上马

代码语言:javascript
复制
mount.cifs //10.8.8.50/smbdocs -o username=venice,password=pass,uid=1001,gid=1001 /samba/docs/ 

我可以使用威尼斯用户创建文件,但是john仍然不能创建文件或编辑文件

任何建议

主机操作系统RHEL 7.4版

EN

回答 1

Unix & Linux用户

发布于 2019-10-31 15:43:05

RHEL 7默认启用了SELinux,它将限制Samba对文件系统的访问。当您在自定义路径(如/samba/docs )中创建自己的Samba共享时,必须对该路径应用适当的SELinux标记。

如果需要Samba和其他服务可以访问的目录,则应该使用SELinux上下文类型标签public_content_rw_t,并设置smbd_anon_write SELinux布尔值,以允许Samba写入对具有完全控制文件所有权的public_content_rw_t上下文中的文件和目录的访问:

代码语言:javascript
复制
setsebool -P smbd_anon_write=1
semanage fcontext -a -t public_content_rw_t "/samba/docs(/.*)?"
restorecon -Rv /samba/docs

如果您不计划通过任何其他服务(如/samba/docsftpd)访问samba_share_t,则可以使用D8上下文,然后不需要布尔设置:

代码语言:javascript
复制
semanage fcontext -a -t samba_share_t "/samba/docs(/.*)?"
restorecon -Rv /samba/docs

semanage fcontext -a...命令将将持久定义新标记的正则表达式添加到SELinux配置中,restorecon将将新标记应用于实际的文件系统。您也可以使用chcon来更改SELinux上下文标签,但是当restorecon被执行时(例如在还原备份之后),您的更改就会丢失。首先,将标记信息存储到SELinux配置中,可以确保即使您的备份方法不知道SELinux,也可以恢复它--只要SELinux配置在/etc下也是备份的。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/549689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档