samba是什么
samba是什么?能干什么?什么场合需要用到它?
- samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。
- 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端映射网络驱动
但是输入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地址>/<共享文件夹名> <挂载点>