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就显得很方便了
接下来我们在centos7上安装并简单使用下
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0
更换阿里云yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
然后生成缓存
yum makecache
然后安装samba
yum install -y samba samba-client
创建新账户(后面samba使用到的)
useradd sma -s /sbin/nologin
配置smaba配置文件
vi /etc/samba/smb.conf
配置新创建的用户,在最后面添加以下配置
[sma] comment = test samba share directories path = /home/sma guest ok = no browseable = yes writable = yes
保存退出并重启smaba服务,并设置为开机启动
systemctl restart smb.service systemctl restart nmb.service systemctl enable smb.service systemctl enable nmb.service
NMB对客户端提供NetBIOS服务
添加samba用户(sma为上面过程中创建的linux系统账户)
smbpasswd -a sma
然后输入两次密码
查看samba得用户的方法是
pdbedit -L
我们可以来看看是否成功了,在window机器上输入
\\172.26.61.59\sma
打开即可看到
删除账户的方法是(sma为上面过程中创建的linux系统账户)
smbpasswd -x sma
然后可以使用window映射网络驱动器把共享目录挂载到本地进行使用
打开此电脑
点击映射网络驱动器,然后填入samba地址,分配一个盘符
然后点击完成
最后就是这个样子,双击打开它时会提示你输入账户密码,就使用我我们刚才设置的sma账户密码即可登录,使用起来非常方便。
在linux上登录smada共享目录,需要首先安装samba-client
yum -y install samba-client cifs-util
执行smbclient命令可以查看共享目录
smbclient -L 172.26.61.59 -U sma #进入目录 smbclient //172.26.61.59/sma -U sma #回车输入密码
也可以使用命令将smaba目录挂在到本地进行使用
mount -t cifs //172.26.61.59/sma /root/sma -o username=sma #/root/sma是本地目录,回车输入密码后挂载成功