samba协议

  • samba简介
    • samba的由来
    • NetBIOS协议(网络基本输入输出系统)
    • samba主要应用
    • 常见的文件服务器的比较
    • samba安装与端口
    • 配置文件
    • Windows客户端访问
    • Linux客户端访问
    • 权限设定:
    • 添加、删除、查看samba用户
    • 例题

samba简介

samba的由来

在 1991年Andrew Tridgell为了实现Unix和Windows之间文件共享,开发了SMB (Server Message Block,服务消息块)文件
系统由于SMB无法注册,就取名为Samba。Samba是用于Linux和Unix的标准Windows互操作性程序套件。

NetBIOS协议(网络基本输入输出系统)

NetBIOS:Network Basic Input/Output System)的缩写
作用:
通过NetBIOS协议,可以读取 windows 主机用户名列表,共享目录名列表,级名列表,时间服务类型以及 MAC地址。
我们常用的windows系统在局域网中共享文件的功能就是利用NetBIOS协议实现的。
比如,可以打开网上邻居,找到当前网络中的机器,并查看其中的共享文件。
也可以在开始—>运行 窗口,输入 \192.168.1.10\ 访问共享文件,而如果要把其中的 IP 192.168.1.10 换成目标机器的主机名称(NetBIOS名),也是可以正常访问的,这个功能也是依靠NetBIOS完成。

IBM开发的NetBIOS协议是为了局域网内少数计算机进行通信的协议
Samba基于NetBIOS协议开发,所以可以和Windows通信,但是只能在局域网通信。

samba主要应用

 1、文件共享2、打印服务器   (我们可以通过在linux上通过smb配置打印服务器,为window提供打印服务)3、samba登陆时身份验证在企业环境当中应用最多,目前smb是支持这三种主流的window服务操作系统的,好多企业当中整个的企业环境当中是使用window的域环境 进行管理的,而所有的用户组,权限,组策略信息都是在window域环境进行配置的,那么但是我们的企业又想把一些应用服务和需要用到的 一些域环境进行认证或者是做权限控制的这些应用服务去切换到linux系统当中,那在这种情况下就涉及到我如何和window下的这些域环境进行兼容,那么smb是可以加入window域环境当中,并且是可以和window下的这些域环境进行认证操作的。所以smb这个协议是相当强大的不仅限于只是实现文件共享)4、可以进行Windows的主机名解析

常见的文件服务器的比较

samba安装与端口

安装samba。
Yum install samba -y
samba:主服务包
samba-client:客户端
samba-common:通用工具
samba-libs:库
samba-winbind:Windows域映射
samba-winbind-clients:域映射客户端
常用命令:
testparm:检测配置文件是否正确
Samba拥有两个主服务(相关服务),对于一般使用的服务他只有一个主服务
smbd (提供samba核心功能也是使用最多的一种功能) 提供文件及打印共享服务功能,使用139/445端口
nmbd 提供基于NETBIOS主机名称的解析(解析协议慢慢的被淘汰)支持,使用137/138端口,而对于这种协议使用较少,
现在都是dns进行解析
一般作为文件共享使用samba,则只需要smbd服务。
smbd中d的意思是守护进程的意思。
使用的端口:
Port 137 Used for NetBIOS network browsing
Port 138 Used for NetBIOS name service
Port 139 Used for file and printer sharing and other operations
Port 445 Used by Windows 2000/XP when NetBIOS over TCP/IP is disabled

配置文件

Samba的配置文件为/etc/samba/smb.conf
配置文件分为三个部分:

[global] 定义全局性配置(配置samba服务的相关参数)
[homes] 定义对用户家目录的共享配置(其实在默认情况下不做任何设置,直接启用服务我们就可以通过smb协议访问所有用户的家目录)
[printers] 定义打印机共享配置

[global]
workgroup = MYGROUP 该Samba服务器所在的工作组或者域的名称(如果下面的security=domain的话)
server string = Samba Server Version %v 服务器描述信息,设定机器的描述,当我们通过网络邻居访问的时候
可以在 备注里面看见这个内容,而且还可以使用%v = Samba服务的版本号。
log file = /var/log/samba/log.%m 定义日志文件的位置LogFileName
max log size = 50 定义记录文件的最大容量size(单位是KB,如果是0的话就不限大小)
security = user 定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。
它们对应的验证方式如下:

share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,
就退到user安全级。
domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。
load printers = yes

[homes]
在smb.conf文件中一般没有对这个目录的设定特定内容比如路径等。当客户机发出服务请求时,就在smb.conf文件的其它部分查找友特定内容的服务。如果没有发现这些服务,并且提供了homes段时,那么就搜索密码文件得到用户的Home目录。通过Homes段,Samba可以得到用户的Home目录并使之共享。下面是这个段的最基本的几个设置。
comment = Home Directories 描述信息
browseable = no 共享文件是否浏览可见
writable = yes 所有人可写
[printers] 打印机
comment = All Printers
path = /var/spool/samba 共享的路径
browseable = no
guest ok = no 是否允许所有人访问,等同于public
writable = no 所有人可写
printable = yes 是否可打印
write list = +staff 拥有写权限的用户列表
自定义名称的共享目录设置:

comment:                      描述信息
path:                            共享的路径
guest ok:                        允许所有人访问,等同于public
read only:                       所有人只读,ro
writable:                        所有人可写,同时还要看目录权限,rw
write list:                  拥有写权限的用户列表
browseable:                  是否浏览可见(设置共享是否可游览,如果是no表示隐藏,通过ip+共享名进行访问)
valid users=                   指定可以访问的用户
invalid =  user1,user2,@group1//禁止登录用户,用户用逗号隔开,组用@  //禁止  访问控制
create mask = 0644 客户机创建文件权限
directory mask = 0755 客户机创建目录的权限

常见的变量:

%v:           samba的版本号
%S:          任意用户可以登陆
%m:          client端的NetBIOS主机名
%L:          服务器端的NetBIOS主机名
%u:          当前登陆的用户名
%g:          当前登陆的用户组名

Windows客户端访问

网上邻居访问
\192.168.159.200

Linux客户端访问

smbclient -L 192.168.159.200 查看主机的共享资源
smbclient -L 192.168.159.200 -U user1 使用user1用户进入
smbclient //192.168.159.200/movie 访问共享目录

mount //192.168.171.143/share /share -o username=xixi,password=redhat 挂载使用资源
//192.168.142.128/share /pub cifs defaults,username=xixi,password=redhat 0 0 (通用互联网文件系统) 开机自动挂载

权限设定:

如果想要访问与上传:
Linux系统权限需要允许
samba服务权限也需要允许

添加、删除、查看samba用户

添加:
注意用户必须已经是系统用户,才能添加为samba用户
pdbedit -a -u 系统用户
或者smbpasswd -a 系统用户名(常用)
删除:
pdbedit -x -u 系统用户名
或者smbpasswd -x 系统用户(常用)
查看:
pebedit -L

例题

[global]workgroup = workgroup
[homes]browseable = nowritable = yes
[test]path = /sharecomment = test a directory
#重启服务
[root@mail samba]# systemctl restart smb
[root@mail samba]# systemctl restart nmb

windows系统中删除登陆缓存信息
cmd>net use * /delete
在window资源设备器上去访问:\192.168.0.130

提示要账号和密码:
添加samba用户
(先useradd添加用户)

[root@localhost samba]# smbpasswd -a xixi
New SMB password:
Retype new SMB password:
Added user xixi.

查看samba用户用
#pdbedit -L
最后看到两个目录 用户家目录 xixi test 对应得是/share

RHCE(四)SAMBA协议相关推荐

  1. 小米 samba linux,解决Win10.4无法访问samba协议小米路由盘修复方法

    原标题:解决Win10.4无法访问samba协议小米路由盘修复方法 近日,应该有不是朋友使用Win10升级到最新系统Windows 10 Fall Creators Update(秋季创意者更新),这 ...

  2. javaweb学习总结(四)——Http协议

    javaweb学习总结(四)--Http协议 一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用 ...

  3. 网络协议实验四 ARP 协议分析实验

    实验四 ARP 协议分析实验 2.2 ARP 协议分析实验 1.ARP 协议介绍 ARP 是地址解析协议 (Reverse Address Resolution Protocol)的缩写,负责实现从I ...

  4. [samba]Samba协议基础

    rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsoh ...

  5. RTSP、HTTP、HTTPS、SDP四种协议详解

    RTSP.HTTP.HTTPS.SDP四种协议详解 从这篇开始我们将进入流媒体的环节,流媒体在android中有nuplayer来实现的,在开始讲解android流媒体前,我们先来讲讲流媒体传输协议, ...

  6. 马哥教育第二十四ftp协议、vsftpd的高级应用、rpc概念及nfs的基本应用、samba及其基本应用...

    1.ftp协议及vsftpd的基本应用          文件共享服务:                  工作在应用层:ftp(file transfer protocol)             ...

  7. 网络基础(四) — QUIC协议

    文章目录 一.概述 二.TCP 协议 & QUIC协议 2.1 TCP 协议 2.2 QUIC协议 三.QUIC 特性 3.1 避免前序包阻塞 3.2 减少数据包 3.3 向前纠错 3.4 会 ...

  8. Android系统开发篇(四) —— Samba服务器的搭建和相关配置

    书接上文,上文中我们说到了Android源码的下载和编译,那么为了高效率的操作和便于在Windows系统中去读取和修改源码:我们采用了Samba文件服务器,这个在linux行业里可以必备的技能.当然S ...

  9. python六十四: 迭代器协议

    迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代.(只能往后走,不能往前退). 可迭代对象:实现了迭代器协议的对 ...

最新文章

  1. 适用于SharePoint 2013 的 CAML Desinger
  2. android 人生日历,android版人生日历日子怎么用 安卓版人生日历日子使用教程
  3. 面向对象软件设计——设计模式学习
  4. eureka 和zookeeper 区别 优势【转】
  5. windows 下使用 Filezilla server 搭建 ftp 服务器
  6. 为什么SOFA RPC调用30s还不超时?
  7. android 弹出网格菜单,在android中的recyclerView中显示弹出按钮的确...
  8. _Mycat-Web之UI监控
  9. Linux扩展根分区大小
  10. Wordpress婚庆婚纱摄影工作室企业网站主题模板
  11. java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
  12. 使用Ligolo-ng建立隐蔽的通信信道
  13. The transaction timeout is larger than the maximum value allowed by the broker
  14. linux ftp上传目录,Linux中ftp不能上传文件/目录的解决办法
  15. Redis总结 其一 概述 安装 类型
  16. 【CF1646D】D. Weight the Tree(树形dp、贪心)
  17. Android支付接入(七):Googlenbsp;In-app-Billing
  18. Linux下使用GPG(GnuPG)加密及解密文件
  19. 写给高端大气上档次的你!
  20. javamail在linux环境中发送邮件问题总结

热门文章

  1. Java基础题36:(多选题)下列有关于变量的命名正确的是 A.可以由字母、数字、下划线、”$”组成; 头
  2. Centos7:网络设置+搜狗输入法安装
  3. 推荐4款最好用的远程桌面访问软件,亲测好评
  4. 物联网设备数据流转之告警信息推送:TDengine-alert
  5. 马克思主义哲学历史唯物主义
  6. SPSS分析技术:时间序列分析的ARIMA模型;考虑各种促销因素的服装销售额预测
  7. 我感觉的优美诗句品鉴(不定时更新)
  8. linux清理日志 hack,Linux系统的LOG日志文件及入侵后日志的清除
  9. 【转】游戏开发高度图有关资料与Balder中的相关支持
  10. 功放、音响、耳机、播放器试音歌曲,说不定你会喜欢