5.samba服务

五、samba服务器

1、概述

Samba最先在linux和windows两个平台之间搭建起来的一座桥梁,它实现了linux系统和windows系统之间的通信,比如拷贝文件、实现不同操作系统之间的资源共享等,我们可以将其架设成一个功能强大的文件服务器,也可以将其架设成打印服务器提供给本地和远程联机打印。

2、Samba应用环境

文件和打印机共享:文件和打印机共享是samba的主要功能,SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问。

身份验证和权限设置:smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密的方式可以保护共享的文件和打印机。

3、服务的安装

(1)服务端

[[email protected] Desktop]# rpm -ivh /mnt/Packages/samba-3.6.9-164.el6.x86_64.rpm

#该包为Samba服务的主程序包

[[email protected] Desktop]# /etc/init.d/smb start

Starting SMB services:                                     [  OK  ]

[[email protected] Desktop]# netstat -antup |grep smb

tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      3223/smbd

tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      3223/smbd

tcp        0      0 :::139                      :::*                        LISTEN      3223/smbd

tcp        0      0 :::445                      :::*                        LISTEN      3223/smbd

(2)客户端

[[email protected] Desktop]# rpm -ivh /mnt/Packages/samba-client-3.6.9-164.el6.x86_64.rpm

#该包为samba的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具

4、服务的使用

(1)windows系统

windows+R,打开一个运行窗口

(2)linux系统

[[email protected] ~]# smbclient -L 192.168.220.150

5、Samba常规服务器配置

基本的samba服务器的搭建流程主要分为四个步骤:

(1)编辑配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限;

(2)在smb.conf文件中指定日志文件名称和存放路径;

(3)设置共享目录的本地系统权限及samba共享权限;

(4)重新加载配置文件或重新启动smb服务,使配置生效。

6、samba配置详解

(1)smb.conf文件的开头部分为samba配置简介,告诉我们smb.conf文件的作用及相关信息。smb.conf中还有以“;”开头,这些都是samba配置的格式范例,默认是不生效的,可以通过去掉前面的“;”并加以修改来设置想使用的功能。

[[email protected] Desktop]# vim /etc/samba/smb.conf

(2)Global Settings

Global Settings设置为全局变量区域。全局变量就是说我们只要在global时进行设置,那么该设置项目就是针对所有共享资源生效。

下面我们就[global]常用的字段设置进行讲解:

A、设置samba服务器所在的工作组或域名

Workgroup=server1.example.com#工作组

B、服务器描述,服务器描述实际上类似于备注信息

Server string=samba server1#samba服务器描述

C、设置samba服务器安全模式。常见模式有两种:share安全级别模式和user安全级别模式

Samba服务器有share、user、server、domain和AD活动目录五种安全模式

a.share安全级别模式

客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适合于公共的共享资源,安全性差,需要配合其他权限设置,保证samba服务器的安全性。

b.user安全级别模式

客户端登录samba服务器,需要提交合法的账号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。

(3)share definitions共享服务的定义

[homes]为特殊共享目录,表示用户主目录;

[printers]表示共享打印机

配置一个共享资源如下:

[share]#设置共享名

Comment=Home Directories#描述

Browseable=yes#是否允许查看此共享内容

Path=/share#共享路径,写绝对路径

Public=yes#允许匿名查看

(4)设置访问用户

如果共享资源存在重要数据的话,需要对访问的用户进行审核,我们可以使用valid users字段进行设置

Valid users=用户名

Valid [email protected]组名

(5)设置目录只读

共享目录如果限制用户的读写操作,我们可以通过readonly实现

Readonly=yes#只读

Readonly=no#读写

(6)设置目录可写

如果共享目录允许用户写操作,可以使用writable或write list两个字段进行设置

Writable 格式

Writable=yes#读写

Writable=no#只读

Write list 格式

Write list=用户名

Write [email protected]组名

(7)samba服务日志文件

在/etc/samba/smb.conf文件中,log file为设置samba日志字段

7、实例演练

(1)匿名共享(实验之前要保证windows和虚拟机网络连通)

公司现在有一工作组server1,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,这个共享目录允许公司所有员工访问。

[[email protected] Desktop]# mkdir /share

[[email protected] Desktop]# cp /etc/passwd !$

cp /etc/passwd /share

[[email protected] Desktop]# ls /share/

passwd

[[email protected] Desktop]# vim /etc/samba/smb.conf

74         workgroup = server1

75         server string = server1 samba server

101         security = share

102         passdb backend = tdbsam

290 [share]

291 comment = Home Directories

292 path = /share

293 public = yes

[[email protected] Desktop]# service smb restart

#验证

(2)通过用户名和密码的方式将/sales共享出去,只有知道用户名和密码的同事才可以以查看此文件

A、添加销售部用户和组并添加相应samba账号

使用groupadd命令添加sales组,然后执行useradd和passswd命令添加销售部员工账号及密码

[[email protected] Desktop]# groupadd sales

[[email protected] Desktop]# useradd -g sales sale1

[[email protected] Desktop]# useradd -g sales sale2

[[email protected] Desktop]# id sale1

uid=502(sale1) gid=502(sales) groups=502(sales)

[[email protected] Desktop]# smbpasswd -a sale1

New SMB password:

Retype new SMB password:

Added user sale1.

[[email protected] Desktop]# smbpasswd -a sale2

New SMB password:

Retype new SMB password:

Added user sale2.

[[email protected] Desktop]# vim /etc/samba/smb.conf

101         security = user

102         passdb backend = smbpasswd

103         smb passwd file = /etc/samba/smbpasswd

296 [sales]

297 comment = sales data

298 path = /sales

299 valid users = @sales

300 writable = yes#设置smb服务权限

[[email protected] Desktop]# mkdir /sales

[[email protected] Desktop]# cp /etc/passwd !$

cp /etc/passwd /sales

[[email protected] Desktop]# ls /sales/

Passwd

[[email protected] Desktop]# chmod 777 /sales/#设置smb系统权限

[[email protected] Desktop]# /etc/init.d/smb restart

Shutting down SMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

#测试

连接之后需要输入用户名和密码,此处输入sale1,654321

此时在sale1中新建1.txt文件,在linux中可以看到

[[email protected] Desktop]# ls /home/sale1/

1.txt

(3)扩展参数

Hosts allow和hosts deny的使用方法

Hosts allow字段定义允许访问的客户端

Hosts deny 字段定义禁止访问的客户端

例如:

Hosts deny = 172.18.0. 表示禁止所有来自172.18.0.0/24网段的IP地址访问

Hosts allow = 172.18.58.111 表示允许172.18.58.111这个IP地址访问

当hosts deny和hosts allow字段同时出现并定义的内容冲突时hosts allow优先

(4)boss用户和sales组对/sales都可以读写

配置文件修改如下:

(5)samba的隐藏共享,配置文件修改如下:

例:创建独立配置文件,让sale1直接访问隐藏的共享文件

[[email protected] Desktop]# vim /etc/samba/smb.conf

74         workgroup = server1

75         server string = server1 samba server

76         config file = /etc/samba/smb.conf.%U

102         security = user

103         passdb backend = smbpasswd

104         smb passwd file = /etc/samba/smbpasswd

297 [sales]

298 comment = sales data

299 path = /sales

300 #valid users = @sales

301 #writable = yes

302 write list = @sales

303 browseable = no

[[email protected] Desktop]# cp /etc/samba/smb.conf /etc/samba/smb.conf.sale1

[[email protected] Desktop]# vim /etc/samba/smb.conf.sale1

297 [sales]

298 comment = sales data

299 path = /sales

300 #valid users = @sales

301 #writable = yes

302 write list = @sales

303 browseable = yes

[[email protected] Desktop]# service smb restart

#测试

切断windows对共享文件的连接:

登录sale1用户会发现隐藏文件/sales

登录sale2会发现没有隐藏文件/sales的出现

(6)客户端的一些特殊设置

A、Windows系统下的映射驱动器

将\\172.18.58.111\share复制到下面窗口

 

B、linux系统下客户端可通过以下几种方案实现

方案1:

方案2:

方案3:

[[email protected] Desktop]# mount -t cifs //172.18.58.111/sales /mnt -o username=sale1%654321

[[email protected] Desktop]# df -h

//172.18.58.111/sales  9.7G  3.2G  6.0G  35% /mnt

[[email protected] Desktop]# cd /mnt/

[[email protected] mnt]# ls

1.txt  passwd  新建文本文档.txt

[[email protected] mnt]# touch 2.txt

[[email protected] mnt]# ls

1.txt  2.txt  passwd  新建文本文档.txt

时间: 2024-10-25 00:39:09

5.samba服务的相关文章

SAMBA服务

目    录 一.SAMBA服务介绍 1.SAMBA的功能 2.计算机网络管理模式 3.相关包 4.相关服务进程 5.主配置文件 6.语法检查 7.客户端工具 二.SAMBA服务配置 1.全局配置 2.特定的共享设置 3.宏定义 三.管理samba用户 四.配置目录共享 五.基于特定用户和组的共享 六.SMB客户端访问 七.挂载CIFS文件系统 1.手动挂载 2.开机自动挂载 SMB:server message block 服务器消息块,IBM发布,最早DOS网络文件共享协议. Cifs: c

如何部署Samba服务

一.samba存在的意义 有时为了方便windows与linux虚拟机之间的文件共享,我们一般用SAMBA服务来解决,有人会问,VMTool不是可以直接设置share folder吗?但是用到比较大的工程时复制来复制去的耗时很多或者我们想偷懒直接就在共享目录编译而不影响(要知道windows和linux的文件系统是不同的),samba是非常适合的解决方法. 二.安装并启动samba服务 1)使用yum来安装Samba yum -y install samba* 2)启动并检查服务是否启动 ser

linux学习-Samba服务

Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享. 1.安装Samba服务软件包: [[email protected] Desktop]# yum install samba Loaded plugins: langpacks, product-id, subscription-manager ------省略部分安装过程------ Installing: samba           x86_64      

linux基础Samba服务和nginx服务

一.Samba服务 1.准备环境:iptables -F:关闭防火墙 #systemctl disable firewalld:开机默认关闭 #systemctl stop firewalld:立即关闭 #systemctl status firewalld:查看 2.安装软件包:yum install samba -y 3.修改配置文件: /etc/samba/smb.conf [public] comment = Public Stuff path = /share public = yes

Ubuntu16.04 samba服务配置

1.sudo apt-get update 2.sudo apt-get install samba samba-common 安装samba服务软件 3.smbpasswd -a tfjay 将tfjay用户添加到samba用户中 4.vi /etc/samba/smb.conf [myshare]                  #共享目录名 comment = my root share directory    #描述 path = /home/tfjay             #L

配置samba服务一例

问题: 在/data/share目录下建立三个子目录public.training.devel用途如下 public目录用于存放公共数据,如公司的规章制度 training目录用于存放公司的技术培训资料 devel目录用于存放项目开发数据 将/data/share/public/目录共享为public,所有员工都可以访问,但只有读取权限 将/data/share/training目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入,禁止其它人访问 将/data/sh

初学linux网络服务之samba服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:Samba匿名共享 工作组为Tarena 将目录 /usr/src 共享给所有人 共享名设为 tools 允许所有人访问.无需密码验证 访问权限为只读 1.安装软件包 [[email protected] ~]# rpm -q samba-client samba samba-common  //查看安装包 package samba-client

linux下samba服务搭建

实验拓扑:Linux Client-----RHEL5.9(vmnet1)----------(vmnet1)Win7 Client 实验一:Samba匿名共享工作组为Tarena将目录 /usr/src 共享给所有人共享名设为 tools允许所有人访问.无需密码验证访问权限为只读 1.安装软件包[[email protected] ~]# rpm -q samba-client samba samba-commonpackage samba-client is not installedpac

Samba 服务的搭建

一.服务概述 SMB/CIFS SMB(Server Message Block,服务消息块) CIFS(CommonInternet FIle System,通用互联网文件系统) Samba服务通常用来做文件服务器,它可以实现 windows 与类 Unix 实现共享打印机,共享文件等功能,samba 底层也是 CIFS 协议. 二.安装需要的软件包 samba                服务端软件 samba-client        客户端软件 samba-common       

环境的搭建(四)--------samba服务

window目前来说还是我们离不开的系统,那么Linux系统和window的文件交互就很有必要了.Linux使用的文件系统window并不支持,所以我们就需要进行一些修改,以达到可以访问的目的. samba服务是将Linux下的某个目录转化为window系统支持的网络共享目录,方便window系统访问Linux下的目录. 使用apt-get install samba命令进行samba服务的安装,安装完了以后并不能马上使用,需要进行配置以后window才能进行访问. 配置文件是/etc/samb