前言
redhat7搭建samba服务,实现linux和windows之间的文件共享。
搭建samba服务
- 安装samba
1
yum install -y samba
- 配置文件
1
vi /etc/samba/smb.conf
点击展开配置文件内容
1
2
3
4
5
6
7
8
9
10
11
12[global]
workgroup = MYGROUP
server string = MicroSoft Server 2003
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
[sambaxkj]
comment = do not delete it!
path = /sambaxkj
public = no
writable = yes
注意:testparam命令可以检查配置文件语法是否正确。
创建共享目录
1
2mkdir /sambaxkj
chmod -Rf 777 /sambaxkj清空防火墙规则
1
2iptables -F
service iptables save重启samba服务
1
systemctl restart smb
注意:重启失败,因为没有关闭selinux。关闭selinux之后即可正常启动samba服务。
临时关闭selinux;setenforce 0
- 创建samba用户
本地用户无法连接samba共享目录,必须 创建专用的samba用户,用于共享目录。
- 新增samba用户
1
useradd sambaxkj
- 设置samba用户的密码
1
pdbedit -a -u sambaxkj
测试文件共享服务
在windows主机进入“运行”,输入\\192.168.0.106
,(IP地址为linux虚拟机的IP地址),即可使用samba用户登录到linux主机的共享目录。
可实现linux主机和windows主机的目录共享,任意一方都可增删改共享目录里面的内容。
打开selinux之后(setenforce 1),无法进入共享目录。
这是什么原因导致的?
是selinux上下文的限制还是域的限制?
答案:是上下文的限制。
- 查看与samba服务相关的sebool设置:
1
getsebool -a |grep samba
- 打开samba_export_all_rw上下文,允许samba用户对共享目录可读可写
1
setsebool -P samba_export_all_rw=on
- 重启samba服务,现在samba用户就可以对共享目录做读写操作了
1
systemctl restart smb