因此,一些驱动器在启动时通过 fstab 安装到用户主目录。
UUID=XXXX-XXXX /home/user/10TB exfat defaults,uid=1000,umask=000 0 0
然后我运行此命令让 samba 访问主目录:
sudo setsebool -P samba_enable_home_dirs=on
现在有这个 smb conf 部分:
[home]
comment = me-files
path = /home/user
writeable = yes
browseable = yes
public = yes
create mask = 0644
directory mask = 0755
write list = user
我可以连接到我的 PC 并访问除 ~/10TB 中安装的驱动器内容之外的所有内容。
我听说过禁用 SELINUX,但我认为这并不理想。我以前用过 samba 和 arch ,效果很好。我在这里缺少什么?
系统是Fedora 35 KDE spin。
编辑:我在fuse.conf中添加了user_allow_other
andallow_other
答案1
所以我必须这样做:
setsebool -P samba_share_fusefs 1
https://linux.die.net/man/8/samba_selinux
然后这样做只是为了更好的措施:
setsebool -P samba_export_all_rw 1
那么你应该对你的装有保险丝的驱动器有好处!
无需添加 samba 类型,因为它不适用于熔断器安装。 Npr 是否需要编辑context
.
你可以用这个来检查:
ls -dZ /share
答案2
当我斜杠进入 samba 共享时,Windows 中出现错误消息:
无法访问....
解决方案:
使用less /var/log/messages
或浏览日志less journalctl
,日志将告诉您需要运行的确切命令...您需要编写一条规则来覆盖当前的 selinux 配置。
我跑了setsebool -P samba_export_all_ro true
,这解决了我的问题。不需要重新启动,我也不需要systemctl restart smb
。如果您需要对共享进行读写访问,只需更改命令末尾的ro
for即可。rw