Samba服务搭建及详解
Samba文件共享服务
1. 什么是Samba文件共享服务
1.1 Samba的含义
Samba是linux和unix系统上实现SMB/CIFS协议的一个免费软件,由服务器和客户端程序构成。
SMB:局域网支持共享文件和打印机的一种通信协议,为局域网内不同计算机之间提供文件及打印机等资源的共享服务
Samba原理图:
1.2 Samba的包组
Samba(服务器端软件包):包含了samba的主要daemon档案(smbd及nmbd)、samba的文件档(document)、以及其他与samba相关的logrotate设定文件及开机预设选项档案等。
Samba-common(Samba公共文件软件包):主要提供了SAMBA的主要设定档(smb.conf)、smb.conf语法检验的测试程序(testparm)等等。
Samba-client(客户端软件包):提供了当linux作为SAMBA Client端时,所需要的工具指令,例如挂载SAMBA档案格式的执行档smbmount等等。
1.3 Samba的进程及作用
Samba有两个守护进程:smbd和nmbd,这两个守护进程是独立的启动脚本。
Smbd:为客户端提供文件共享服务和打印机服务,并且负责用户权限验证以及锁功能。Smb服务启动smbd。端口号:TCP协议的139/445端口,netstat-nutlp查看端口信息
Nmbd:提供NetBIOS名称服务来满足基于CIFS(Common Internet File System)协议的共享访问环境。Nmb服务启动nmbd。端口号:UDP的137端口
或许表格会更清晰的了解Smbd和Nmbd,嘿嘿
守护进程 | 功能 | 启动服务 | 端口号 |
Smbd | 文件共享服务、打印机服务、用户权限验证及锁功能 | Smb服务 | TCP协议的139/445端口 |
Nmbd | NetBIOS名称服务 | Nmb服务 | UDP协议的137端口 |
2. 配置安装Samba服务器
2.1 关闭防火墙和selinux
[root@Samba ~]# service iptables stop #临时关闭防火墙 [root@Samba ~]# chkconfig iptables off #永久关闭防火墙 [root@Samba ~]# setenforce 0 #暂时关闭selinux [root@Samba ~]# sed -i "/SELINUX=/cSELINUX=disabled" /etc/sysconfig/selinux #永久关闭selinux
2.2 安装Samba软件
[root@Samba ~]# yum -y install samba
2.3 创建共享目录
[root@Samba ~]# mkdir/common #创建公共目录common [root@Samba ~]# chmod777 /common #给common目录授权 [root@Samba ~]# echo"hello world\!" > /common/test.txt #创建测试文件test.txt
2.4 修改配置文件
[root@Samba ~]# vim /etc/samba/smb.conf 在结尾添加以下内容: [common] //共享名称为common comment = Common share //共享注释 path = /common //指定共享路径 browseable = yes //所有人可见 guest ok = no //拒绝匿名访问 writeable = yes //支持写入数据
2.5 创建访问账号
[root@Samba samba]# useradd -s/sbin/nologin smbuser //创建用户 [root@Samba samba]# smbpasswd -a smbuser //创建密码 New SMB password: Retype new SMB password:Addeduser smbuser.Smbpasswd命令:修改samba密码 –a添加账户并设置密码;-x删除SMB账户;-d禁用SMB账户 –e 启用SMB账户
2.6 启动服务
[root@Samba ~]# servicesmb start Shutting down SMB services: [ OK ] StartingSMB services: [ OK ]
3. 客户端访问
3.1 Windows客户端访问
3.1.1 windows客户端访问
主机启动方式:windows键+R打开运行输入\\samba的ip
当使用windows客户端访问时会经常出现这样的错误
解决方式:网络右键属性打开网络和共享中心-更改适配器设置
本地连接右键属性-点击共享
将本地网卡共享给VMnet8
然后重新打开以下你的samba客户端
然后输入你的用户名和密码就能进入
3.2 Linux客户端访问
#用linux客户端访问时需要smbclient命令,需要安装 [root@Samba ~]#yum -y install samba-client #然后就可以执行smbclient命令 [root@Samba ~]#smbclient -L //192.168.137.7 #查看主机共享信息 #执行上述命令可能会一个error: [root@Samba ~]#smbclient -L //192.168.137.7 Enter root's password: session setup failed:NT_STATUS_LOGON_FAILURE #这是由于使用的用户是root用户的原因,所以后面加个用户就行了 [root@Samba ~]# smbclient -L//192.168.137.7 -U smbuser #查看共享信息 Enter smbuser's password: #仅查看不需要密码,直接回车键 Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.23-20.el6]Sharename Type Comment --------- ---- ------- common Disk Common share IPC$ IPC IPC Service (Samba Server Version3.6.23-20.el6) smbuser Disk Home Directories Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.23-20.el6] Server Comment --------- ------- Workgroup Master --------- ------- #管理共享目录文件 [root@Samba ~]# smbclient -U smbuser//192.168.137.7/common Enter smbuser's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.23-20.el6] smb: \> ls. D 0 Thu Sep 24 23:45:22 2015.. DR 0 Fri Sep 25 12:13:12 2015test.txt 14 ThuSep 24 23:45:22 2015 35727 blocks of size 524288. 31695blocks available smb: \> quit
3.3 挂载Samba共享目录
#以挂载/test目录为例 [root@Samba /]# mkdir /test [root@Samba /]# mount -t cifs//192.168.137.7/common /test -o username=smbuser,passwd="123456" #挂载 cifs为网络文件系统
4. Samba配置文件详细分析
[global] #定义全局策略workgroup = MYGROUP #定义工作组server string = Samba Server Version %v#服务器提示字符,默认显示samba版本log file = /var/log/samba/log.%m #定义日志文件max log size = 50 #定义日志文件单个文件最大容量为50KBsecurity = user #security选项将会影响客户端访问方式 #可以设置user、share、server、domain。User:代表用户名和密码验证;share:代表匿名访问;server:代表基于验证身份的访问,账户信息在另一台SMB服务器上;domain:同样基于验证身份验证,账户信息在活动目录中 passdb backend = tdbsam #账户与密码存储方式,smbpasswd:使用老的明文格式存储账户及密码;tdbsam:代表基于TDB的密文格式存储;ldapsam:代表使用LDAP存储账户资料。load printers = yes #客户端在10分钟内没有打开任何Samba资源,服务器将自动关闭回话。cups options = raw #打印属性 [homes] #共享名称comment = Home Directories #注释,共享的描述信息browseable = no #共享目录是否可以被浏览writable = yes #共享目录是否可以进行写操作 [printers] #打印机共享comment = All Printers path = /var/spool/samba #打印机共享池browseable = no guest ok = no #是否允许匿名访问writable = noprintable = yes [common] #共享名称为commoncomment = Common sharepath = /common #指定共享目录valid users = tom jerry #有效账户列表create mask = 0750 #客户端上传文件的默认权限directorymask = 0775 #客户端创建目录的默认权限 browseable = yes #客户端是否对所有人可见 writable= no #是否允许写入write list = tom #写权限账户列表admin users = tom #该共享的管理员,具有完全权限invalid users = root bin #禁止root与bin访问common共享guest ok = no #是否允许匿名访问
本篇博文主要参考丁明一前辈的《linux运维之道》,这篇文章自己感觉能写的就这么多,如果其中有哪些错误希望大家能够不吝指导,嘿嘿~~~本篇文章完成于中秋,还是感觉放假清闲没有太多的杂事能够安心写完一篇博文就很满足了!!!
转载于:https://blog.51cto.com/hongtengfei/1698588
Samba服务搭建及详解相关推荐
- RHEL6.3 NFS服务搭建过程详解
NFS服务搭建 网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分 ...
- ubuntu 16.04 samba服务搭建
ubuntu 16.04 samba服务搭建 一:安装 1. sudo apt-get install samba 有询问Yes的地方Yes就行. 无法安装samba 执行 sudo apt-get ...
- [转]大数据环境搭建步骤详解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安装与配置)
大数据环境安装和配置(Hadoop2.7.7,Hive2.3.4,Zookeeper3.4.10,Kafka2.1.0,Flume1.8.0,Hbase2.1.1,Spark2.4.0等) 系统说明 ...
- Linux系统下SVN服务器的搭建过程详解 UpJ}s7+
Linux系统下SVN服务器的搭建过程详解 UpJ}s7+ 1 环境: 服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z Z]jSq@%1H* ...
- Apollo微服务配置中心详解
Apollo微服务配置中心详解 前言 一.Apollo架构 (一)简介 (二)角色介绍 (三)服务端实现 (四)客服端实现 二.Apollo部署 (一)准备数据库 (二)配置服务 1. 手动部署 (1 ...
- LNMP搭建过程详解,验证搭建论坛
LNMP搭建过程详解,验证搭建论坛 一.安装Nginx服务 1.安装依赖包 2.创建运行用户 3.编译安装 4.优化路径 5.添加Nginx 系统服务 二.安装MySQL服务 1.安装Mysql环境依 ...
- “IT小百科”之“Windows自带的服务和系统进程详解”
大家平时打开任务管理器的时候,就能看到系统进程和系统服务. 有好多是新安装的应用程序进程和服务,但是还有很多系统进程和服务,这些进程和服务有哪些?分别起什么作用?能不能关闭和删除?今天我们就以本篇文章 ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解
注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...
最新文章
- php 重新载入类文件夹,php-如何配置Behat从应用程序特定文件夹自动加载类
- html5标签及属性大全,HTML5 标签 和属性 列表.pdf
- thinkphp模版调用函数方法
- stm32 IAP + APP ==双剑合一
- android动画放大后缩小,Android 补间动画 scale(缩放)
- bzoj3572 [HNOI2014]世界树 虚树 +乱dp
- Node.js 模块系统
- aiohttp进阶教程
- 计算机ps一级知识点,2017年计算机等级一级Photoshop常考知识点
- Java NIO学习与记录(七): Reactor单线程模型的实现
- 卷积神经网络基础知识
- [Mac] Newifi mini路由器刷breed+Padavan固件
- Java之native函数
- 分享一款实用的太阳能充电电路(室内光照可用)
- 物联网智能产品WiFi/蓝牙定位原理
- 给网页加一个全屏转场动画 HTML JS
- 基于Python爬虫的电影数据可视化分析
- Excel怎么把两列数据穿插合并为一列
- 【noi.ac #596】road
- 计算机网络的形成与发展
热门文章
- ASP编程学习的28个观点
- android地图定位
- PCIe知识学习 (转载)
- modlesim使用
- 总线控制内部eep_【上周回顾】小白如何自学单片机;电子专业的十个神总结;摩尔定律54年;电子工程师常弄混的总线分类汇总;他做成了半导体害怕他做的事...
- python怎么使用int四舍五入_python中如何取整数
- strstr php文档,php字符串函数学习之strstr()
- SQL-Hive中的Select From解析
- linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包
- java char 相等_Java程序员须知Java字符串的十大问题