本文目录

  • Samba服务器概念与原理
    • 一.引子
    • 二.samba原理及基本概念
    • 三.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还是有非常明显的优势的。简单实现多系统之间互联,多个系统之间相互共享文件,妈妈再也抓不到我在学习的时候看视频和小说了。懂的都懂。文件传输内容基本到此也就结束了。当然不用担心,笔者会继续更新,地球不爆炸,笔者不放假。(大家浏览不易,感谢三连)

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

  1. samba服务器在linux下如何运行共享

    samba服务器在linux下如何运行共享 1. 什么是samba Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到 ...

  2. CentOS 7下Samba服务器的安装与配置 win 共享磁盘

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  3. samba服务器新建文件权限,Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析...

    Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析 发布时间:2011-01-04 19:10:00   作者:佚名   我要评论 本文是基于ubuntu桌面版进行操作说 ...

  4. Linux中sftp加权限,Linux 搭建Sftp服务并进行权限设置

    一.最近接到一个项目组的需求搭建文件服务器,需求如下 1.用户:amovs.upload.download 2.组:amovs.dataload.download 3.具体需求是upload和down ...

  5. Linux服务器安全配置实例(二)用户账户权限配置

    没有绝对的安全 在上一篇文章<linux服务器安全配置实例(一)>中介绍了我对ssh服务的一些常用的安全配置和性能优化. 其实ssh服务是我们进入服务器的一扇大门,这扇大门是提供正常人使用 ...

  6. 【WebRTC---入门篇】(五)Web服务器原理与Nodejs搭建

    Web服务器工作原理 Nodejs工作原理 首先自己开发的APPLICATION(自己开发的JS程序)输出给V8引擎,解析后的二进制文件调用NODE API,然后调用LIBUV事件处理库(插入到事件队 ...

  7. 计算机用户打印权限设置,电脑中设置HP打印机嵌入式Web服务器(EWS)权限的方法...

    ‍ 在本文中要和大家介绍一下在电脑中设置HP打印机嵌入式Web服务器(EWS)权限的方法.在打印机的嵌入式Web服务器(简称EWS)中,可以设置打印机进行连接的方式,也可以锁定前面板的一些重要功能,设 ...

  8. 【桌面运维】Windows下共享打印机能连接到却打印不了【已解决】

    检查直连打印机电脑能否正常打印: 检查使用共享打印机的电脑能否正常打印.

  9. linux服务器 硬盘安装教程,硬盘安装CentOS 6.0(超级详细图文教程) | 系统运维...

    引言: 电脑系统是Windows XP,电脑没有光驱.手头没有U盘.没有移动硬盘.电脑主板不支持U盘启动,在这种情况下想安装CentOS 6.0,有木有办法? 答案:有办法,请看下面教程! 必备工具: ...

最新文章

  1. JavaScript初学者编程题(14)
  2. 「每周CV论文」深度学习图像降噪应该阅读哪些文章
  3. webpack+react多页面开发架构
  4. CSDN博主排名更新公告
  5. AutoHotkey调用VBA实现批量精确筛选数据透视表某字段内容。
  6. RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)
  7. Java面向对象-抽象类
  8. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_09-freemarker基础-内建函数
  9. pdf论文在线翻译网站
  10. photoshop cc 2018安装破解教程
  11. 分号与逗号的区别及举例_顿号与逗号与分号间的区别是什么?
  12. 【一】ArcGIS API for JavaScript 4.x之地图显示
  13. 计算机网络知识全面讲解:理解网络协议
  14. java mocked_java如何使用Mockito?
  15. C++复习炒剩饭(1)心一意
  16. 【光通信光互联电信模块详解】
  17. 重磅!大数据《实战全栈工程师成长手册》,附 PDF PPT 下载
  18. php 读取纯真书库,PHP读取纯真IP数据库的函数
  19. 国内三大制式3G网络简介及比较
  20. Buddy 内存管理机制(下)

热门文章

  1. 【转】APT攻击检测与防御详解
  2. 微信小程序获取Onenet温湿度数据并控制灯亮灭
  3. 锡兰:真正的进步,还是只是另一种语言?
  4. 求N分之一序列前N项和
  5. J2ME低级界面中文输入法
  6. zigbee CC2530 系列教程 5 外部中断实验
  7. 《JavaScript前端开发与实例教程(微课视频版)》
  8. VC中常见API函数使用方法(经验版)
  9. S3C2440的架构及启动方式
  10. linux中grep的用法详解,grep的基本用法详解