Samba服务器原理及实验搭建(匿名共享,用户认证,权限设置,IP限制,目录挂载,桌面运维)

Samba服务器概念与原理

一.引子

Samba这个名字用我们中文来理解其实是有点不符合我们的认知习惯的,samba是在Linux和UNIX系统上实现SMB(Server Message Block,服务信息块)协议的一个免费软件,是用来共享文件的。并且不单是在单独的系统里面共享,可以在unix,linux,windows里面互相共享数据。还是非常方便的。还是那句话,服务是根据需求诞生的。就像我们在拼多多里面分享链接到微信,然后发现分享不出去,那用户体验就很差劲了。

二.samba原理及基本概念

1.GIFS与SAMBA

CIFS 通用互联文件系统 微软开发
WINS 服务:将域内主机名直接映射为Internet域名(计算机的主机名 <> IP 互相转换)
netbios 网络基本输入输出系统

SAMBA:SMB 服务信息块 给应用程序提供网络访问文件的接口 SUN公司开发
smb:smb 协议的实现软件
nmb:主机名 <> IP localhost.localdomain IP(主机名和网络IP相互映射)

2.SMB服务详解

SMB(Server Message Block,服务信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。

SMB的工作原理是让NetBIOS(Win95网络邻居通信协议)与SMB这两种协议运行在TCP/IP的通信协议上,且使用NetBIOS nameserver让用户的Linux机器可以在Windows的网络里被看到,所以就可以和Win95/NT主机在网络上相互沟通,共享文件与服务了。

目前Microsoft正在开发一种新的文件和打印共享协议–CIFS(Common Internet FilesSystem,通用互联文件协议),该协议支持TCP/IP和DNS等协议,能在www上支持文件和打印共享。在CIFS下服务器实际上是DNS名,由主机名和域名组成。这种变化是从NetBIOS命令结构中分离出来的。目前CIFS还没有得到广泛的应用。现在在Linux和Win95/NT之间的文件共享注意还是 SMB和NFS。

3、Samba的记录文件

Samba为smbd、nmbd和访问Samba的客户提供了下列记录文件,分别记录有关smbd、nmbd运行信息和每个客户的访问信息:

记录smbd 信息
/var/log/samba/log.smb

记录nmbd信息
/var/log/samba/log.nmb

记录客户访问信息
/var/log/samba/log.%m

主配置文件
/etc/samba/smb.conf

 workgroup:所在工作组
工作组:将一组计算机 逻辑上整合起来 进行分散式管理		10   wangyang 123
工作域:将一组计算机 逻辑上整合起来 进行集中化管理		域控 wangyang 123
server string:服务器描述信息
Security:安全级别,可用值如下
share user server   domain
log file:日志文件位置,“%m”变量表示客户机地址
%v:版本号  %m:客户端主机名  %N:客户端域名
%s:客户端用户名  $i:客户端IP  %t:客户端的访问时间
max log file:日志文件的最大容量,单位为KB
passwd backend:设置共享账户文件的类型
常见共享目录配置项含义:
comment:对共享目录的注释、说明信息
path:共享目录在服务器中对应的实际路径
browseable:该共享目录在“网上邻居”中是否可见
guest ok:是否允许所有人访问,等效于“public”
writable:是否可写,与 read only 的作用相反
valid users :  设置哪些用户可以访问
printable :  是否加载打印功能
 

4、启用Samba服务器

Samba的运行包含两个后台守护进程:smbd和nmbd,它们是Samba的核心,在全部时间内运行。nmbd程序使得通过计算机可以浏览Linux服务器。Smbd守护进程在SMB软件包到达网上时对它们进行处理,并且为使用或共享它的资源与Linux进行协调。如果指定的是一个文件,该资源就是一个文件;而一个打印机请求就要求访问一台打印机。实际上,在请求访问打印机时,Smbd把要打印的信息存储到打印机队列中;在请求访问一个文件时,Smbd把数据发到内核,最后将它存到磁盘上。

你可以从inetd选择启动它们,但这种方法会使Samba变慢。建议使用下面命令可以启动这两个进程:
/etc/rc.d/init.d/smb start
/usr/sbin/samba start

如果想要在系统启动时自动启动samba,可以使用/usr/sbin/turboservice命令,选中其中的"SMB (Windows)File Services"。

三.samba共享实验搭建(匿名共享,用户认证,权限设置,IP限制,目录挂载,桌面运维)

(一)匿名共享实验搭建:(在Windows控制面板-程序开启SMB服务)

1.安装软件包:
yum -y install samba
2. cd /etc/samba/
vim smb.conf
全局配置区域:
[global]
workgroup = WORKGROUP工作组
server string =Samba Server Version
指定网卡监听IP:
在这里插入图片描述
日志放置区域:
log file = ///
允许匿名访问:
在这里插入图片描述

共享文件设置:
在这里插入图片描述

service smb start
3.创建目录:
mkdir /share
cd /share
date > index.html
echo “123456” >> 1.txt
4.启动服务:
service smb start
5.换Windows/linux查看:
\192.168.26.11(只读)(windows)
smbclient -L //192.168.26.12()linux
samba 相对于 FTP 服务器的杀手锏 :samba 支持在线修改文件
非图形化需要安装samba:smbclient samba -utils
6.下载文件:
smbclient //192.168.26.11/public
在线修改文件需要在配置文件中修改权限

(二)用户认证

用户认证
1、创建系统用户 可以不创建系统用户密码 passwd zhangsan
2、把 系统用户 转换为 samba 用户
yum -y install smb
1.vim /etc/samba/smb.conf
在这里插入图片描述
在这里插入图片描述

2.创建用户和目录:
useradd zhangsan
passwd zhangsan
mkdir /zhangsan
echo “456456” > 1.txt
3.设置权限:
在配置文件中设置允许写入
chown zhangsan:zhangsan /zhangsan/
4.将张三转为SMB用户: 必须是已存在的用户
pdbedit -a zhangsan
5.查看用户:
pdbedit -L
删除用户:
pdbedit -x
6.启动服务:
service smb start
7.换12虚拟机查看:
smbclient -U zhangsan -L //192.168.26.13
下载:
smbclient -U zhangsan //192.168.21.11/public
在这里插入图片描述
(三)Samba用户设置:

1.安装软件包:
yum -y install samba
2.mkdir /share
echo “123456” >> 2.txt
3.vim /etc/samba/smb.conf
在这里插入图片描述
在这里插入图片描述

4.启动服务:
service smb start
5.useradd zhangsan
pdbedit -a zhangsan
6.换12虚拟机:
smbclient -U zhangsan -L //192.168.26.12
smbclient -U zhangsan //192.168.21.11/public

(四)Samba权限设置:

要求:
leader01 /leader 允许 leader01 rwx ,允许 yunwei01、kaifa01 rx
yunwei01 /yunwei 允许 leader01、yunwei01 rwx,允许 yunwei02 rx
kaifa01 /kaifa 允许 kaifa01、leader01 rxw,允许 kaifa02 rx

1.yum -y install samba
2.vim /etc/samba/smb.conf
在这里插入图片描述
建立架构()
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.创建用户:
useradd le01
useradd yunwei01
useradd yunwei02
useradd kaifa01
useradd kaifa02
4.改为smb用户:
pdbedit -a le01
pdbedit -a yunwei01
pdbedit -a yunwei02
pdbedit -a kaifa01
pdbedit -a kaifa02
5.创建目录:
mkdir /{le,yunwei,kaifa}
chmod 777 /le/ /kaifa/ /yunwei/
cd /le/
echo “123” >1.txt
cd /kaifa/
echo “456” > 2.txt
cd /yunwei/
echo “789” > 3.txt

4.启动服务:
service smb start
5.换Windows/网络测试12虚拟机测试:
smbclient -U kaifa01 //192.168.21.11/le 可以查看
smbclient -U kaifa01 //192.168.21.11/yunwei 无法查看
smbclient -U yunwei01 //192.168.21.11/yunwei 可以查看
smbclient -U yunwei01 //192.168.21.11/kaifa 无法查看
smbclient -U yunwei02 //192.168.21.11/yunwei 可以查看
smbclient -U yunwei02 //192.168.21.11/le 无法查看

(五)IP限制

修改配置文件:在主配置文件的 global 区域内声明
hosts allow = 192.168.1. 申明允许网段
hosts allow = 192.168.1.1 申明允许 IP
hosts deny = 192.168.1. 申明拒绝网段
hosts deny = 192.168.1.1 申明拒绝 IP

1.vim /etc/samba/smb.conf
拒绝IP
host deny = 192.168.21.12 192.168.26.13
2.smbclient -U le01 -L //192.168.21.11(12,13虚拟机无法登陆)

(六)挂载:(将11虚拟机文件挂载到12虚拟机上)

1.创建挂载目录:
mkdir /le
2.挂载:
mount -t cifs -o username=le01,password=123123 //192.168.21.11/le /le
前一个le共享目录,最后一个le是挂载目录
3.12无法修改文件内容修改文件内容:
在这里插入图片描述

412可以在目录中创建文件

(七)启动桌面运维:(不建议使用,说实话,Linux运维工程师就是因为命令行才占优势难替代)

1.安装软件包:
samba-swat.tar.gz
2.cd samba-swat
yum -y install *
3.cd /etc/xinetd.d/
vim swat
在这里插入图片描述

4.启动服务:
service xinetd start
5.netstat -antp | grep :901
6.登录浏览器:192.168.21.11:901

相对与上一篇的FTP服务,SAMBA还是有非常明显的优势的。简单实现多系统之间互联,多个系统之间相互共享文件,妈妈再也抓不到我在学习的时候看视频和小说了。懂的都懂。文件传输内容基本到此也就结束了。当然不用担心,笔者会继续更新,地球不爆炸,笔者不放假。(大家浏览不易,感谢三连)

猜你喜欢

转载自blog.csdn.net/weixin_47678667/article/details/109081359