Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件。
为什么使用samba
1)ftp的优缺点:
- 优点:文件传输、应用层协议、可以跨平台(linux,windows)
- 缺点:只能实现文件传输,无法实现文件系统的挂载;无法直接修改服务器端的文件。
- 可跨公网,再传输效率或者安全上和专业度上,都更适合文件共享。
2)samba的特性:
- 使用samba/cifs协议、可跨平台(linux,windows)、可以实现文件系统的挂载;可以直接修改服务器端的文件(Linux服务器终端只能用VIM,挂载后可以用IDE)。
- samba更多是使用在局域网。
- 不需要使用的人去连接,配置,直接使用就可以了。
查看系统中是否启动了samba服务器
ps -aux | grep samba
1.安装所需组件
sudo apt-get install samba smbclient
sudo apt-get install cifs-utils
sudo apt-get install samba-common
#centos
yum install samba samba-common samba-client
2.备份以及修改配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vim /etc/samba/smb.conf
查看Win10工作站域名称
将[global]项改为:
[global]
workgroup = WorkGroup
server string = Samba Server %v
netbios name = Samba
security = user
map to guest = Bad User
passdb backend = tdbsam
在文件的末尾添加下面的语句:
[www]
path = /var/nginx/html #共享目录
public = yes #允许guest用户访问
writable = yes #允许在html目录下写入
directory mask = 0775 #默认创建目录权限 rwxrwxr_x
create mask = 0775 #默认创建文件权限 rwxrwxr_x
force directory mode = 0775 #默认创建目录权限 rwxrwxr_x
valid users = sambauser,root #允许访问该共享的用户
write list = sambauser,root #可写入共享的用户列表
browseable = yes #该指定共享目录可浏览
available = yes #该指定共享资源可使用
security = share
另外这个[www]名字也是可以随便起的,这个是你在windows下访问时显示的名字。Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确。
[root@linux ~]# testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
使用testparm –v命令可以详细的列出smb.conf支持的配置参数。编辑好之后保存,然后运行如下命令重新加载smb.conf
/etc/init.d/samba reload
#centos
systemctl reload smb.service
3.添加用户并设置密码
设置账号用于登录samba服务器,同时并设置密码。具体命令:
[root@localhost ~]# useradd sambauser
[root@localhost ~]# smbpasswd -a sambauser
New SMB password:
Retype new SMB password:
4.重启Samba服务器
sudo /etc/init.d/samba restart
#centos 重启并设置开机启动
systemctl restart smb.service
systemctl enable smb.service
systemctl enable nmb.service
本地测试连接是否成功
[root@localhost ~]# smbclient -L //localhost -U sambauser
Enter WORKGROUP\sambauser's password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
www Disk
IPC$ IPC IPC Service (Samba Server 4.10.4)
sambauser Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
5.在Windows上访问Linux
先确认win10上smb有没有打开:控制面板-卸载程序:
启用不安全来宾访问。在组策略设置:本地安全策略-计算机配置-管理模板-网络-Lanman工作站-启用不安全的来宾登录;
然后重启。
方法1:Win + R 调出运行窗口,直接输入Linux的ip地址 ,例如\\192.168.137.3
方法2:在地址栏中直接输入Linux的ip地址,例如\\192.168.137.3
6.在Linux上访问Linux
在搜索栏或者ctrl+L调出地址栏,输入对方的IP,例如 smb://192.168.137.3