Linux中搭建完整的samba服务器全攻略(centos版)
前言
smb是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。
smb服务简介
后来微软对这个发展进行了重大更改,这个更改后的版本也是最常见的版本。微软将SMB协议与它和3Com一起发展的网络管理程序结合在一起,并在Windows for Workgroups和后来的Windows版本中不断加入新的功能。
SMB一开始的设计是在NetBIOS协议上运行的(而NetBIOS本身则运行在NetBEUI、IPX/SPX或TCP/IP协议上),Windows 2000引入了SMB直接在TCP/IP上运行的功能。在这里我们必须区分SMB协议和运行在这个协议上的SMB业务,以及NetBIOS和使用SMB作为认证隧道的DCE/RPC业务。此外我们还要区分主要(但不仅仅)直接使用NetBIOS数据报的“网络邻居”协议。
1996年,Sun推出WebNFS的同时[1],微软提出将SMB改称为Common Internet File System[2]。此外微软还加入了许多新的功能,比如符号链接、硬链接、提高文件的大小。微软还试图支持直接联系,不依靠NetBIOS,不过这个试图依然处于尝试阶段,并需要继续完善。微软向互联网工程工作小组提出了部分定义作为互联网草案[3]。不过这些提案现在均已过期。
由于SMB协议对于与占主要地位的Microsoft Windows平台通讯时的重要性,而目前该平台使用的SMB协议与初始的版本相比有巨大的改变,因此Samba项目就是被创立来逆向工程来提供一个与SMB软件兼容的自由软件,使得非微软操作系统也能够使用它。
在Windows Vista中微软又推出了Server Message Block 2.0。
【1】在安装前,确保
(1)防火墙已关闭:使用命令
#systemctl stop iptables.service
如果出现错误警告 “Failed to stop iptables.service: Unit iptables.service not loaded.”则表示还没安装防火墙
(1-1)安装防火墙:(题外:在安装的时候不能联网,出现了提示 network is unreachable ,需要重启网络 service network restart )
使用指令 :
#yum install iptables-services
安装完成后设置
#systemctl stop iptables
(2)关闭SELINUX(查看SELINUX状态:#getenforce)
(2-1)编辑配置文件
vi /etc/sysconfig/selinux
, 把里边的一行改为 SELINUX=disabled
(2-2)使用setenforce命令设置临时关闭
setenforce 0
【2】安装samba
yum install samba samba-client samba-swat
查看安装情况: rpm -qa|grep samba
Samba服务器安装完毕,会生成配置文件目录 /etc/samba 和其他一些samba可执行命令工具
(1) /etc/samba/smb.conf 是samba的核心配置文件
(2) /etc/init.d/smb 是samba的启动/关闭文件
【3】配置文件smb.conf 并创建用户
(3-1)配置(在Share Definitions项下添加[tmp]配置信息)
(3-2)创建用户(e.g. 创建用户名为apache的用户)
#smbpasswd -a apache
修改完后,重启samba,关闭防火墙,增加用户权限,否则无法在共享目录创建文件和文件夹
【4】Windows对Linux进行映射
打开我的电脑 -> 映射网络驱动器 -> 在文件夹栏输入 “ 虚拟机ip mp ” ( tmp为配置文件中设置的文件夹 ) -> 在弹出的窗口中填写创建的samba用户名和密码 -> 进入共享目录 ( 此处共享目录为www下的html目录 )
*可能会出现的“Windows 无法访问ip addrtmp”的错误,即windows无法访问虚拟机系统
点击诊断查看问题,显示虚拟机没有响应
可能是虚拟机的防火墙没成功关闭,使用以下指令
#systemctl stop firewalld.service
总结
以上所述是小编给大家介绍的Linux中搭建完整的samba服务器全攻略(centos版),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持!
- Nginx rewrite 获取问好“?”后面的参数
- 微信公众平台开放JS-SDK(微信内网页开发工具包)
- 数据库与图片完美解决方案
- 数据库恢复方案
- WPF刷新界面之坎坷路
- lncRNA实战项目-第四步-得到表达矩阵的流程
- 一次切割日志引发的血案
- lncRNA实战项目-第三步-了解参考基因组及注释文件
- 如何通过iframe调用其他页面的内容
- WCF 学习总结1 -- 简单实例
- Java8 + Tomcat8 实现Websocket 例子
- Python Syslog Server 开发实例
- WCF 学习总结2 -- 配置WCF
- SQLite事务 SQLite插入多条语句为什么这么慢?.net (C#)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 十个问题弄清JVM&GC(一)
- 蜂鸟E203系列——按键中断设计
- 蜂鸟E203系列—— UART 设计
- iOS逆向开发(7):微信伪装他人
- 因为喜欢所以升级,MyStaging-3.0 继续
- 环境与工具篇:建立高效的macos环境
- 0202年你还不知道面向对象?
- 十问泛型,你能扛住吗?
- 【两万字】面试官:听说你精通集合源码,接我二十个问题!
- 手把手教你搭建一个技术人的博客
- 发布更新|腾讯云 Serverless 产品动态 20200723
- Spring中异步注解@Async的使用、原理及使用时可能导致的问题
- Elasticsearch 聚合数据结果不精确,怎么破?
- Elasticsearch 预处理没有奇技淫巧,请先用好这一招!
- 时滞微分方程的matlab解法