5.samba服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.samba服务相关的知识,希望对你有一定的参考价值。

五、samba服务器

1、概述

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

2、Samba应用环境

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

身份验证和权限设置:smbd服务支持user modedomain 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、服务的使用

1windows系统

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配置详解

1smb.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服务器有shareuserserverdomainAD活动目录五种安全模式

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)设置目录可写

如果共享目录允许用户写操作,可以使用writablewrite 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组,然后执行useraddpassswd命令添加销售部员工账号及密码

[[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  ]

#测试

技术分享 

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

技术分享 

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

技术分享 

 

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

1.txt

3)扩展参数

Hosts allowhosts 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 denyhosts 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)客户端的一些特殊设置

AWindows系统下的映射驱动器

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

技术分享 技术分享 

技术分享 

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

方案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

本文出自 “12025595” 博客,转载请与作者联系!

以上是关于5.samba服务的主要内容,如果未能解决你的问题,请参考以下文章

linux架构学习第二十九天之samba文件共享服务

Ret Hat 下Samba服务搭建

Centos 5.11 samba

CentOS7/RHEL7中samba的简介和配置

Samba服务

Linux之SAMBA文件共享服务器