windows 与 Linux 使用 samba 共享文件方案

samba是什么

samba是什么?能干什么?什么场合需要用到它?

  1. samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。
  2. Linux对于开发来说是一个非常好的系统,但是人机友好不如windows,我就通常在windows上用sourceinsight编辑代码,然后在Linux端编译运行,而且经常需要把音视频从Linux和windows端互相拷贝,这时候Samba就显得很方便了。

samba安装

yum安装

我用的系统是CentOS,安装软件一般使用yum(全称为 Yellow dog Updater, Modified)包管理器,yum基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  • 切换到root执行安装命令
#yum install samba -y

说明:-y的意思是,在安装过程中的所有提问都填“yes”

*扩展:yum的其他命令

#yum list samba            #列出软件包的信息
#yum remove samba          #卸载软件包
#yum check-update samba    #检查是否有可更新的软件包
#yum update samba          #更新samba软件包

源码安装

参考:https://www.linuxidc.com/Linux/2011-04/35023.htm

samba配置

  • 申请一个新的账号(当然也可以不用申请,使用默认的也可以)例如yz
#useradd yz       #增加用户
#passwd yz        #设置用户密码
#smbpasswd -a yz  #设置smb登录密码

配置samba的配置文件,用vim 打开smb.conf 

#vim /etc/samba/smb.conf

增加smb用户配置

[yz]
        comment = share                 #共享描述
        path = /home/yz                 #共享目录
        public = yes                    #允许guest用户访问
        writable = yes                  #允许在heijunma目录下写入
        directory mask = 0775           #默认创建目录权限 rwxrwxr_x
        create mask = 0775              #默认创建文件权限 rwxrwxr_x
        valid users = yz,root           #允许访问该共享的用户
        write list = yz,root            #可写入共享的用户列表
        browseable = yes                #该指定共享目录可浏览
        available = yes                 #该指定共享资源可使用

编辑好之后保存,然后运行如下命令重新加载smb.conf,并重启samba

#service smb reload
Reloading smb.conf file:                                   [  OK  ]
#service smb restart
Shutting down SMB services:                           [  OK  ]
Starting SMB services:                                     [  OK  ]
#service nmb restart
Shutting down NMB services:                           [  OK  ]
Starting NMB services:                                     [  OK  ]

 启动后还需要关闭防火墙,接着关闭防火墙SElinux,这种关闭重启Linux后又会开启

#systemctl stop iptables 
#systemctl stop firewalld
#setenforce 0

若想开机自动完成这些配置:

#systemctl disable firewalld
#systemctl enable smb
#vim /etc/selinux/config      #永久关闭selinux , 将SELINUX=enforcing改为SELINUX=disabled

windows端映射网络驱动
在win7端映射网络驱动
但是输入Linux端heijunma的账户密码却登陆失败
账户密码都没错,但是登录失败

linux挂载samba文件系统

mount -t smbfs -o codepage=cp936,username=<用户名>,password=<密码>,-l //<ip地址>/<共享文件夹名> <挂载点>
或
mount -t cifs -o codepage=cp936,username=<用户名>,password=<密码>,-l //<ip地址>/<共享文件夹名> <挂载点>

有时连接各种Host is down的解决就是那个vers这个参数,现在我看其它网站上写有1.0,2.0,3.0三种,我用1.0的才成功,其它的全失败

mount -t cifs -o codepage=cp936,username=<用户名>,password=<密码>,-l,vers=1.0 //<ip地址>/<共享文件夹名> <挂载点>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值