在Linux中samba的使用

  使用Samba可以很方便的在Linux及Window之间共享文件,我平时在使用Samba的话主要是网站文件都是在虚拟机里的,平时编程的时候在Window,使用Samba的话可以直接在Window里编辑虚拟机中的程序文件,对我个人感觉会方便点。

 

一、Samba为何物?

  以下介绍摘抄自百度百科,总的来说就是可以共享资源。

  Samba是在LinuxUNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

 

二、Samba的安装

  我虚拟机使用的是CentOS7的镜像,在该Linux系统上直接使用yum进行安装即可。

  yum install samba

 

三、关于smb.conf的配置

  安装完毕后,先进入Samba的安装路径

  cd /etc/samba

  

  在该路径中,可以看到smb.conf,这个就是Samba的配置文件了,修改配置项的话,直接修改这个文件就可以了,在修改之前,可以先备份一下。

  

  cp smb.conf smb_bak.conf

  

  开始编辑smb.conf

  vi smb.conf

 

  smb.conf的内容如下,其中homes、printers、print$这几项暂时不需要用到,可以保留也可以删除

  

  随后新增配置如下(直接复制可能会有缩进的问题

[wwwroot]

    comment = share wwwroot  #描述

    path = /var/www        #共享目录的路径

    public = no

    writable = yes

  

四、创建Samba用户

  useradd www

  smbpasswd -a www  # 输入该命令后,会提示输入密码及确定密码,如果希望使用root登录,则可以输入 smbpasswd -a root

 

 五、创建共享目录

  刚才在smb.conf配置文件中填写的共享目录的路径为 /var/www,如果没有该目录则需要先创建

  mkdir /var/www
  chown
-R www:www /var/www  #修改该目录的所有者为www   chmod -R 775 /var/www  #修改该目录的权限

 

六、在Window访问共享目录

    在访问共享目录之前,如果虚拟机中的防火墙开着并且没有开放139/tcp、445/tcp、137/udp、138/udp端口,可能无法访问,最粗暴的方法就是关闭防火墙,但这里我们开放相关端口即可。

  由于这里是以tcp的方式访问,所以开放139及445端口即可。

  firewall-cmd --zone=public --add-port=139/tcp --permanent

  firewall-cmd --zone=public --add-port=445/tcp --permanent

 

  #开放这两个端口后,需要重载防火墙或者重启防火墙

  firewall-cmd --reload   #重载防火墙

  systemctl restart firewalld.service  #重启防火墙

  

  在访问之前记得启动Samba服务。

  systemctl start smb

  

  为了避免每次重启虚拟机都要去手动开启Samba服务的麻烦,也可以将其设置为开机自启

  chkconfig --level 3 smb on

  

  回到Windows,打开“此电脑”,在地址栏中输入 \\+ip (例如,我的虚拟机ip地址为 192.168.195.130,就在地址栏中输入 \\192.168.195.130),回车后,如果提示需要输入用户密码,就输入刚刚创建的Samba用户(我刚才创建的是www),然后就可以看到虚拟机里共享的目录啦。

  

 

 

  为了方便下次可以直接访问,可以将此共享目录映射成一个盘符。如下图,选择“映射网络驱动器”,然后选择映射网络驱动器。

  

 

  如下图,输入ip地址及共享目录名称,确定后就进入了共享目录。再回到“此电脑”的界面,就可以看到新增了一个盘,以后就可以直接通过这个盘去访问共享目录。

  

 

 

 七、关闭SELINUX

  到现在我们已经可以在Windows访问Linux的共享目录了,如果此时我们在Windows对共享目录进行一些操作,可能会有如下的提示。

  

 

   原因是SELinux禁止网络上对Samba服务器上的共享目录进行写操作,可以通过setenforce 0命令关闭。

  setenforce 1 设置SELinux 成为enforcing模式

  setenforce 0 设置SELinux 成为permissive模式 

   如果要彻底禁用SELinux ,将/etc/selinux/config文件中的SELINUX=enforcing改为SELINUX=disabled,再重启就好啦。

  vi /etc/selinux/config

 

 

 

 

 

  到这里基本都已经ok啦!!

posted @ 2021-02-19 22:31  翉邾漫步。  阅读(312)  评论(0)    收藏  举报