文件服务-SAMBA
介绍
历史
- 1987年,微软公司和英特尔公司共同制定了SMB(Server Messages Block),服务器消息块协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单。
- 1991年,当时还在读大学的Tridgwell为解决Linux系统与Windows系统之间的文件共享问题,基于SMB协议开发出了 SMBServer服务程序。这是一款开源的文件共享软件,经过简单配置就能够实现Linux系统与Windows系统之间的文件共享工作。
- Tridgwell想把这款软件的名字SMBServer注册成为商标,但却被商标局以SMB是没有意义的 字符而拒绝了申请。
- 后来Tridgwell不断翻看词典,突然看到一个拉丁舞蹈的名字—Samba,而且这个热情洋溢的舞蹈名字中又恰好包含了“SMB”,于是Samba服务程序的名字由此诞生。
- Samba服务程序现在已经成为在Linux系 统与Windows系统之间共享文件的最佳选择。
- 基于C/S架构
概述
-
SMB协议实现文件共享,也称为CIFS(Common Internet File System) -
是Windows和Linux/Unix系统之间共享文件的一种协议 -
客户端主要是Windows -
使用NetBIOS的名字解释器让Linux机器可以在Windows的网络邻居中被看到,从而和Windows进行相互沟通,共享文件和打印机 -
支持多节点同时挂载以及并发写入 -
主要用于windows和Linux下的文件共享、打印共享 -
实现匿名用户与本地用户文件共享
NetBIOS协议
主要进程
配置文件
[root@samba ~]
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
guest ok = no
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
SAMBA搭建共享文件
要求
- 共享/samba/share 目录
- 允许在共享目录中创建或删除文件
环境准备
[root@server1 ~]
[root@server1 ~]
[root@samba ~]
[root@samba ~]
[root@samba ~]
[root@samba ~]
[root@samba ~]
[root@samba ~]
[root@samba ~]
安装
[root@samba ~]
创建共享目录
[root@samba ~]
编写配置文件
[root@samba ~]
[samba_share]
comment = Samba Service
path = /samba/share
guest ok = No
writable = Yes
创建一个用户,samba认证
[root@samba ~]
[root@samba ~]
New SMB password:
Retype new SMB password:
Added user user01.
[root@samba ~]
user01:1001:
启动服务
[root@samba ~]
[root@samba ~]
为user01设置权限
[root@samba ~]
基于Windows文件共享
Windows+x–>控制面板–>大图标–>程序与功能–>启用或关闭Windows功能–>勾选SMB 1.0/CIFS文件共享支持–>重启
此电脑–>计算机–>映射网络驱动器–>
\\192.168.226.10\samba_share
查看标签
yum install -y samba-client
smbclient -L 192.168.226.10 -U user01
基于Linux文件共享
[root@server2 ~]
[root@server2 ~]
Enter SAMBA\user01's password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
samba_share Disk Samba Service
IPC$ IPC IPC Service (Samba 4.10.16)
user01 Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
SAMBA Samba 4.10.16
Workgroup Master
--------- -------
SAMBA SAMBA
[root@server2 ~]# smbclient //192.168.226.10/samba_share -U user01
Enter SAMBA\user01's password:
Try "help" to get a list of possible commands.
smb: \> help
? allinfo altname archive backup
blocksize cancel case_sensitive cd chmod
chown close del deltree dir
du echo exit get getfacl
geteas hardlink help history iosize
lcd link lock lowercase ls
l mask md mget mkdir
more mput newer notify open
posix posix_encrypt posix_open posix_mkdir posix_rmdir
posix_unlink posix_whoami print prompt put
pwd q queue quit readlink
rd recurse reget rename reput
rm rmdir showacls setea setmode
scopy stat symlink tar tarmode
timeout translate unlock volume vuid
wdel logon listconnect showconnect tcon
tdis tid utimes logoff ..
!
smb: \> ls
. D 0 Sat Aug 21 15:32:02 2021
.. D 0 Sat Aug 21 13:20:25 2021
新建 DOC 文档.doc A 9216 Sat Aug 21 15:32:02 2021
17811456 blocks of size 1024. 15881848 blocks available
smb: \> quit
把SAMBA挂载到Linux中
[root@server2 ~]
[root@server2 ~]
[root@server2 ~]
ftp&nfs&samba比较
服务 | 比较 |
---|
ftp | 支持局域网访问,也支持外网访问 | nfs | 仅支持局域网访问,侧重于Linux与Linux文件共享,挂载方式:mount.nfs | samba | 仅支持局域网访问,侧重于Windows与Linux文件共享,挂载方式:mount.cifs |
|