• linux之samba使用


      工作中,很多时候,我导出文件,或者上传文件的时候经常失败,报samba fail,但我并不知道samba是干什么用的,也老是听同事说什么samba没有挂载,但我基本上不知道什么是samba,更不要说什么是挂载了,于是乎,我就各种找资料,终于知道什么是samba了。在我经历的三个项目中,都是用samba来实现多台服务器之间的文件共享,而且挺好用的,所以今天写下这篇博客,正所谓好记性不如烂笔头。

      一、什么是samba

      samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于ClientServer型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成为在Linux系统和Windows系统之间共享文件的最佳选择,当然在Linux系统与Linux系统之间的文件共享也选择samba。

      二、安装samba

      我使用的是centos7,直接用yum安装就可以

    yum install samba

      三、配置smb.conf

      smb.conf是服务端的配置文件,刚安装的就自带smb.conf文件,里面有很多注释的行,但实际工作是用不了,所以我们把自带的文件备份一个,复制一个简洁的主配置文件

    mv /etc/samba/smb.conf /etc/samba/smb_bak.conf
    cat /etc/samba/smb_bak.conf | grep -v "#"  | grep -v ";" > /etc/samba/smb.conf

      编辑smb.conf文件,删除homes、printers、print$三项配置,实际工作用不了,然后再后面加上你的共享文件配置,最后内容如下:

    [global]
            workgroup = SAMBA           #设定 Samba Server 所要加入的工作组或者域。
            security = user             #设置用户访问Samba Server的验证方式,一共有四种验证方式
            passdb backend = tdbsam
            printing = cups
            printcap name = cups
            load printers = yes
            cups options = raw
    [database]
            comment = share database     #这个是共享文件的描述
            path = /data/share           #设置共享文件夹的路径
            public = no                  #设置是否允许匿名访问
            writable = yes

      四、创建samba登录用户

      这个用户可以直接用Linux用户,但密码也需要设置,所以我在这里新建一个samba专用用户

    useradd smb_root
    smbpasswd -a smb_root  #然后输入两次密码就可

      五、创建共享路径

    mkdir -p /data/share
    cd /data chmod
    -R 775 share chown -R smb_root:smb_root share

      六、Windows下访问共享文件

      在Windows资源管理器地址上输入 \+ip(比如我的samba服务器IP地址是192.168.1.14,则输入\192.168.1.14),登陆samba服务

      输入的刚才新增的samba用户及密码就行,比如我的就是smb_root和smb_root,这样就可以访问了

      可以把这个文件映射为一个盘符,选中database,点击右键,选中映射网络驱动器

     

      点击确定就可

      七、Linux下共享文件

      首先在客户端安装支持文件共享服务的软件包cifs-utils

    yum install cifs-utils

      在Linux客户端,按照samba服务端的用户名和密码、共享域的顺序将相关的信息写入到一个认证文件中

    vim auth.smb
    写入如下内容:
    username = smb_root
    password = smb_root
    domain = ZIJIN

      在客户端创建共享目录,把挂载信息写入/etc/fstab文件中

    mkdir -p /data/share
    vim /etc/fstab
    在最后追加一下信息:
    //192.168.1.14/data/share  /data/share  cifs  credentials=/root/auth.smb   0 0

      挂载文件系统

    mount -a

      测试,在服务端的/data/share目录下新建一个文件,然后再客户端查看,是否能看到,如果能就可以了

  • 相关阅读:
    egrep 正则邮箱
    centos 安装编译时常见错误总结
    线上系统和冷备系统同步单个表数据
    nagios微信报警配置
    saltstack批量加用户脚本
    阿里云服务器迁移流程
    HDU 4912 LCA + 贪心
    HDU 5242 树链剖分思想的贪心
    洛谷P3328(bzoj 4085)毒瘤线段树
    Codeforces 719E (线段树教做人系列) 线段树维护矩阵
  • 原文地址:https://www.cnblogs.com/12345huangchun/p/12268343.html
走看看 - 开发者的网上家园