0%

redhat7搭建samba服务-linux与windows主机共享

前言

redhat7搭建samba服务,实现linux和windows之间的文件共享。

搭建samba服务

  1. 安装samba
    1
    yum install -y samba
  2. 配置文件
    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. 创建共享目录

    1
    2
    mkdir /sambaxkj
    chmod -Rf 777 /sambaxkj
  2. 清空防火墙规则

    1
    2
    iptables -F
    service iptables save
  3. 重启samba服务

    1
    systemctl restart smb

注意:重启失败,因为没有关闭selinux。关闭selinux之后即可正常启动samba服务。
临时关闭selinux;setenforce 0

  1. 创建samba用户
    本地用户无法连接samba共享目录,必须 创建专用的samba用户,用于共享目录。
  • 新增samba用户
    1
    useradd sambaxkj
  • 设置samba用户的密码
    1
    pdbedit -a -u sambaxkj

测试文件共享服务

在windows主机进入“运行”,输入\\192.168.0.106,(IP地址为linux虚拟机的IP地址),即可使用samba用户登录到linux主机的共享目录。
image3737797bcaf9fc47.png
imagebad2fbf34f95b501.png
可实现linux主机和windows主机的目录共享,任意一方都可增删改共享目录里面的内容。


打开selinux之后(setenforce 1),无法进入共享目录。
image3b2eafe2f3714179.png
这是什么原因导致的?
是selinux上下文的限制还是域的限制?
答案:是上下文的限制。

  • 查看与samba服务相关的sebool设置:
    1
    getsebool -a |grep samba
    image45dd94e9b113c328.png
  • 打开samba_export_all_rw上下文,允许samba用户对共享目录可读可写
    1
    setsebool -P samba_export_all_rw=on
  • 重启samba服务,现在samba用户就可以对共享目录做读写操作了
    1
    systemctl restart smb
-------------本文结束感谢您的阅读-------------