前言:如果你的samba配置文件中配置了共享目录的读写权限,且共享目录文件夹给了适当的权限。windows的文件资源管理器访问只能看到文件夹,但看不到文件夹内的文件,那么这份博客希望可以为你提供帮助(配置确保没问题可以直接看 5、SELinux限制:)
目录
1、确保防火墙允许Samba的通信端口(默认是139和445):
1、SELinux(Security-Enhanced Linux)限制了Samba服务的访问权限。可以临时关闭SELinux(立即生效):
2、如果有效果就可以配置永久关闭SELinux(重启生效):
1、确保防火墙允许Samba的通信端口(默认是139和445):
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --reload
2、samba服务状态:
systemctl status smb
3、samba配置文件:
[shared]
path = /data/share
available = yes
valid users = admin
read only = no
writable = yes
guest ok = yes
4、配置共享目录适当权限:
chmod -R 777 /data/share/
5、SELinux限制:
1、SELinux(Security-Enhanced Linux)限制了Samba服务的访问权限。可以临时关闭SELinux(立即生效):
setenforce 0
然后重启以下samba:
systemctl restart smb nmb
看看再访问能不能看到文件夹内文件了
2、如果有效果就可以配置永久关闭SELinux(重启生效):
修改:/etc/selinux/config
/etc/selinux/config
将 SELINUX=enforcing 替换为 SELINUX=disabled
SELINUX=disabled
然后重启samba就可以了
systemctl restart smb nmb
3、还有一种更推荐的办法,就是可以调整SELinux策略:
1、查询SELinux策略:
getsebool -a | grep samba
2、修改SELinux布尔值:
setsebool -P samba_enable_home_dirs=1
3、更改目录的安全限制:
chcon -t samba_share_t /data/share/
这里的/data/share/路径是你需要samba共享的目录路径,一定要与你Samba配置文件 /etc/samba/smb.conf中path = /data/share的路径要一样,因为我用的是/data/share,所以示例是这个目录。
4、同样,需要重启samba:
systemctl restart smb nmb
6、总结
如果问题依然存在,你可能需要查看你配置文件的读写权限及用户配置、共享目录权限,samba服务状态、防火墙设置,通过这些步骤,应该能够成功配置Samba共享目录,确保SELinux和防火墙不会阻止访问。如果仍然遇到问题,可以查看Samba日志文件 /var/log/samba/ 中的错误信息,直接问AI,或者检查Samba配置文件的语法是否正确。
548

被折叠的 条评论
为什么被折叠?



