Samba文件共享服务器

Samba 服务基础

Samba是一个让不同系统之间通信的软件
Samba是基于客户机/服务器型的协议
SMB协议 (Server Message Block 服务消息块)
CIFS协议(Common Internet File System 通用互联网文件系统

Samba软件包的构成

服务端软件 samba
客户端软件 samba-client
用于提供服务端和客户端程序的公共组件 samba-common

Samba服务的程序组件

smbd:为客户机提供服务器中共享资源的访问
nmbd:提供基于NetBIOS协议的主机名称解析

[root@localhost ~]# netstat -antup | grep mb
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      11421/smbd          
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      11421/smbd          
tcp6       0      0 :::445                  :::*                    LISTEN      11421/smbd          
tcp6       0      0 :::139                  :::*                    LISTEN      11421/smbd          
udp        0      0 192.168.122.255:137     0.0.0.0:*                          11433/nmbd          
udp        0      0 192.168.122.1:137       0.0.0.0:*                         11433/nmbd          
udp        0      0 192.168.137.255:137     0.0.0.0:*                          11433/nmbd          
udp        0      0 192.168.137.135:137     0.0.0.0:*                          11433/nmbd          
udp        0      0 0.0.0.0:137             0.0.0.0:*                           11433/nmbd          
udp        0      0 192.168.122.255:138     0.0.0.0:*                          11433/nmbd          
udp        0      0 192.168.122.1:138       0.0.0.0:*                           11433/nmbd          
udp        0      0 192.168.137.255:138     0.0.0.0:*                         11433/nmbd          
udp        0      0 192.168.137.135:138     0.0.0.0:*                         11433/nmbd          
udp        0      0 0.0.0.0:138             0.0.0.0:*                           11433/nmbd 

smbd 监听 TCP协议的 139端口(SMB)协议,445端口( CIFS协议 )
nmbd 监听 UDP协议的 137-138端口(NetBIOS协议)

Samba主要的配置文件

/etc/samba/smb.conf

#vim /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
#read the smb.conf manpage.
#Run 'testparm' to verify the config is correct after
#you modified it.

[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
    
	[print$]      #共享打印机设备相关配置
    comment = Printer Drivers
    path = /var/lib/samba/drivers
    write list = @printadmin root
    force group = @printadmin
    create mask = 0664
    directory mask = 0775
    
	[my share]       #自定义的共享名
    comment = share   # 对该共享的说明
    path = /tmp/share    # 该共享目录在服务器中的绝对路径
    browseable = yes	# 在“网上邻居”中是否可见
    read only = yes   #是否为只读
    valid users = zzq , root #允许访问该共享资源的用户
    write list = zzq   #可以在共享目录下进行写入操作的用户

安装并使用samba服务

安装

#yum install -y samba

配置

vim /etc/samba/smb.conf
GG
o
[my share]
    comment = share
    path = /tmp/share
    browseable = yes
    writable = yes
    read only = yes
    valid users = zzq , root
    write list = zzq

用testparm 可以检查smb.conf配置文件的内部正确性

用法
testparm [-s] [-h] [-L servername] [configfilename] [hostname hostIP]

[root@localhost samba]# testparm -s -h /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
......

Global parameters

[global]
printcap name = cups
security = USER
workgroup = SAMBA
idmap config * : backend = tdb
cups options = raw

添加samba共享用户

#pdbedit -a zzq
new password:
retype new password:
Unix username:        zzq
..........

关闭防火墙、selinux

#systemctl stop firewalld
#systemctl disable firewalld
#setenforce 0

开启Samba服务

#systemctl start smb
#systemctl start nmb

客户机访问Samba服务器共享资源

windows 访问smb服务器

打开资源管理器
地址栏输入\ \smb服务器IP
输入对应的用户名和密码
在这里插入图片描述

在这里插入图片描述

Linux 访问SMB服务器共享资源

访问需要安装Samba-client客户端
执行smbclient -L 目标IP 可以查看能访问内容
在这里插入图片描述
访问smb服务器的格式 smbclient 目标地址/目录 -U 用户%密码
进入smb界面输入问号可以查看可使用的命令
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Dadit/article/details/106864468