使用 samba 实现文件共享

Samba简述:

SMB(Server Messages Block)协议:实现局域网内文件或打印机等资源共享服务的协议。
Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享。

搭建Samba 共享服务器 :

环境: centos6.6  IP:192.168.239.131
下载:
    yum install samba
备份配置文件,并过滤繁多的注释:
    cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
    cat /etc/samba/smb.conf|grep -v "#"|grep -v ";"|grep -v "^$">/etc/samba/smb.conf
创建共享目录:
    mkdir /sharedir
在 /etc/samba/smb.conf 下添加如下配置参数:
    [sharedir]
        comment = share         #描述信息,可写一些警告什么的
        path = /database        #共享目录
        public = no             #关闭所有人可见
        writable = yes          #允许写入操作
启动 samba 服务并添加到开机自启动:
    service smb start
    chkconf smb on

windows 与 linux 文件共享:

清空防火墙规则:
    iptables -F
创建Samba 服务账号:
    useradd smbuser
    pdbedit -a -u smbuser
在Windows主机上系统的关机键旁搜索栏里填:
     \\192.168.239.131
回车后,就能看到登入页面,填之前创建的用户和密码,即可看到共享目录

然而在此时你是没有访问权限的,需要设置selinux:
    chown -Rf smbuser:smbuser /sharedir
    setsebool -P samba_enable_home_dirs on
    semanage fcontext -a -t samba_share_t /database
    restorecon -Rv /database/
semanage命令 在centos6.6 默认里是没有的,需要安装policycoreutils-python
    yum install policycoreutils-python 
现在可以在windows 上访问共享目录,创建文件了 乛?乛
当然你也可以关闭selinux,不过在rhce考试中,是要开启的,我考的时候Samba好像有两道大题╮( ̄▽ ̄)╭

linux 与 linux 之间文件共享:

准备另一台linux主机
安装cifs-utils 软件包:
    yum install cifs-utils -y
创建挂载目录:
    mkdir /database
在root目录下创建认证文件auth.smb内容如下:
    username=smbuser    #在SMB共享服务器上创建的用户名
    password=centos     #该用户名的密码
    domain=MYGROUP      #SMB 共享域
安全起见,修改文件权限:
    chmod -Rf 600 auth.smb
配置挂载信息,在/etc/fstab 下添加:
    //192.168.239.131/database /database cifs credentials=/root/auth.smb   0 0
挂载并检验:
    mount -a 
    cd /sharedir 创建测试文件,切到 Samba 服务器上看是否存在该文件

Samba算是比较实用的一个服务,昨天我在windows物理机上,想往我的虚拟机里传一个目录文件时,懒得下载winscp,就直接在虚拟机里撘了个samba服务,用它来传文件,也是搞事情 ╮( ̄▽ ̄)╭ 。

    原文作者:onlylink
    原文地址: https://www.jianshu.com/p/11b8093ef39a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞