SAMBA服务器搭建

SAMBA服务器搭建
环境:
hostnameipOS
server192.168.220.138centos7
client192.168.220.139centos7

一、samba概述

samba最先在Linux和Windows两个平台之间架起了一座桥梁,正是由于Samba的出现,我们可以在Linux系统和Windows系统之间互相通信。例如:拷贝文件、实现不同操作系统之间的资源共享等等。

二、SAMBA常见的应用

  • 共享文件与打印机服务
  • 提供用户登陆samba主机时的身份认证,以提供不同身份用户的个别数据。
  • 可以进行Windows网络上的主机名解析。
  • 可以进行设备共享(例如Zip、CD-ROM)。

三、SAMBA使用的daemons及端口

SAMBA这个文件系统是架构在NetBIOS(Network Basci Input/Ouput System)这个通信协议上面所开发出来的。最早IBM发展出NetBIOS的目的仅是让局域网内少数计算机进行网络连接的一个通信协议而已,所以考虑的角度并不是针对大型网络,因此,这个NetBIOS时无法跨路由的。
通过NetBIOS over TPC/IP的技术,可以跨路由使用SAMBA服务器所提供的功能。

  1. 取得 对方主机的NetBIOS Name定位该主机所在。

    ​ 当我们想要登陆某台windows主机使用它所提供的数据时,必须要加入该Windows主机的工作组。应且需要机器的主机名,这个主机名不是hostname ,这个主机名必须架设在NetBIOS协议上的。可以简称为NetBIOS Name

  2. 利用对方给予权限访问资源

    找到主机名后,能否登陆对方主机或使用对方主机所提供的资源,还要看对方Windows主机有没有提供我们使用的权限。

上述两个步骤SAMBA通过nmbd和smbd服务进行控制。

  • nmbd:用来管理工作组、NetBIOS Name等的解析。主要利用UDP协议开启137、138来负责解析的任务。
  • smbd:用来管理SAMBA主机共享的目录、文件与打印机等。主要利用可靠的TCP协议来传输数据,开放端口为139和445。
[root@server ~]# vim /etc/services 
  125 netbios-ns      137/tcp                         # NETBIOS Name Service
  126 netbios-ns      137/udp
  127 netbios-dgm     138/tcp                         # NETBIOS Datagram Service
  128 netbios-dgm     138/udp
  129 netbios-ssn     139/tcp                         # NETBIOS session service
  130 netbios-ssn     139/udp
  202 microsoft-ds    445/tcp

四、SAMBA安装

=============================server============================
[root@server ~]# yum install samba -y 
[root@server ~]# systemctl start smb
[root@server ~]# netstat -antup | grep smb
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      5972/smbd           
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      5972/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      5972/smbd           
tcp6       0      0 :::445                  :::*                    LISTEN      5972/smbd

=============================client============================
[root@client ~]# yum install samba-client -y
[root@client ~]# smbclient -L server
Enter SAMBA\root's password: 
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	IPC$            IPC       IPC Service (Samba 4.8.3)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

五、通过用户名密码共享文件

=======================创建samba用户========================
[root@server ~]# vim /etc/samba/smb.conf
[root@server ~]# groupadd users
[root@server ~]# useradd -g users user1
[root@server ~]# useradd -g users user2

[root@server ~]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.
Added user user1.

[root@server ~]# smbpasswd -a user2
New SMB password:
Retype new SMB password:
Added user user2.

[root@server ~]# cat /etc/samba/smbpasswd 
user1:1000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:3FA45A060BD2693AE4C05B601D05CA0C:[U          ]:LCT-5D356C02:
user2:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:3FA45A060BD2693AE4C05B601D05CA0C:[U          ]:LCT-5D356C0F:

[root@server ~]# mkdir /data
========================配置/etc/samba/smb.conf=================
[root@server ~]#cat /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						#默认使用TDB数据库格式
	passdb backend = smbpasswd					
	smb passwd file = /etc/samba/smbpasswd		#密码文件

	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
[data]						#共享资源名称
	comment = data			#说明,可以随意写
	path = /data			#绝对路径
	valid users = @users	#允许的用户,@表示用户组
以上配置在/etc/samba/smb.conf.example模板文件中有更详细的说明和例子

在这里插入图片描述
![
](https://img-blog.csdnimg.cn/20190722162752935.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RvbG9yZXNPT08=,size_16,color_FFFFFF,t_70)

可以在DOS中用net use 查看连接

在这里插入图片描述
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页