一起学操作系统-linux, 网络运营

2-7#配置Samba文件共享服务器

 

Samba服务概述:

1.1 Samba 概述

Samba 最先在Linux 和Windows 两个平台之间架起了一座桥梁,正是由于Samba 的出现,我们可以在Linux 系统和Windows 系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印。

1.2 Samba 应用环境

文件和打印机共享:文件和打印机共享是Samba 的主要功能,SMB 进程实现资源共享,将文件和

打印机发布到网络之中,以供用户可以访问。

身份验证和权限设置:smbd 服务支持user mode 和domain mode 等身份验证和权限设置模式,

通过加密方式可以保护共享的文件和打印机。

名称解析:Samba 通过nmbd 服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS 名解析为IP 地址。

浏览服务:局域网中,Samba 服务器可以成为本地主浏览服务器(LMB,保存可用资源列表,

当使用客户端访问Windows 网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。

安装方法:

Yum -y install samb

服务器端:

[root@xuegod163 ~]# rpm -ivh /mnt/Packages/samba-3.6.9-164.el6.x86_64.rpm

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

xuegod64安装客户端软件包:

[root@xuegod164 ~]# rpm -ivh /mnt/Packages/samba-client-3.6.9-164.el6.x86_64.rpm
#该包为Samba 的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具

注:如安装时依赖关系,就解决一下依赖关系

配置文件 /etc/samba/smb.conf

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

[1]、编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。

[2]、在smb.conf 文件中指定日志文件名称和存放路径。

[3]、设置共享目录的本地系统权限及samba共享权限。

[4]、重新加载配置文件或重新启动smb 服务,使用配置生效

格式:

smb.conf 文件的开头部分为samba 配置简介,告诉我们smb.conf 文件的作用及相关信息。

smb.conf 中还以“;”开头,这些都是samba 配置的格式范例,默认是不生效,可以通过去掉前面的“;”并加以修改来设置想使用的功能。

smb.conf #号也是表示注释

启动服务器

server smb start

开机启动设置

chkconfig –level 23456 smb

客户端连接samb服务器方法

Linux

#安装sam服务器

#smbclient -L smb-server(IP)

Windows

运行——//smb-server(IP)

#======================= Global Settings =====================================

格式:

字段=设定值

workgroup = MYGROUP   #设置工作组

server string = Samba Server Version %v #samba服务器描述

samba服务器安全模式

常见:share安全级别/user安全级别

security = user            #设置共享模式

passdb backend = tdbsam

share安全级别模式

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

user安全级别模式

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

配置一个共享资源:

[share]  #设置共享名

        comment = Home Directories  #描述

        browseable = yes   #是否允许查看此共享内容 。如果是否,后期通过绝对路径,可以查看到。

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

public = yes  #允许匿名查看

1设置共享名

共享资源发布后,必须为每个共享目录或打印机设置不同的共享名,给网络用户访问时使用,并

且共享名可以与原目录名不同。

例:

Samba 服务器中个目录为/share,需要发布该目录成为共享目录,定义共享名为public

2共享资源描述

格式:comment = 备注信息

举个例子哈,samba 服务器上个/sales 目录存放公司销售部的数据,为了对公司部门员工进行

区分,可以添加备注信息。

3共享路径

共享资源的原始完整路径,

格式:path = 绝对地址路径

samba 服务器上/share/tools 目录存放常用工具软件,需要发布该目录为共享,我们可以这样做。

4设置匿名访问

共享资源如果对匿名访问进行设置,可以更改public 字段。

格式:

public = yes #允许匿名访问

public = no #禁止匿名访问

comp

5设置访问用户

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

格式:

valid users = 用户名

valid users = @组名

6设置目录只读

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

格式:

readonly = yes #只读

readonly = no #读写

7设置目录可写

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

writable 格式:

writable = yes #读写

writable = no #只读

write list 格式:

write list = 用户名

write list = @组名

例子:

[share]

comment = Home_Test

browseable = yes

writable = yes

valid users = root

valid users = @root

path = /var/log

public = yes

readonly = yes

writeable = no

############################################################################################################

samba服务日志文件

取决于/etc/samba/smb.conf日志部分设置

# logs split per machine

log file = /var/log/samba/log.%m       #日志存放位置

# max 50KB per log file, then rotate

max log size = 50                      #日志文件最大

#############################################################################################################

实战操作:

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

mkdir share

vi /etc/samba/smb.conf

#======================= Global Settings =====================================

[global]

workgroup = xuegod.cn

server string = Samba Server Version %v

security = share

#============================ Share Definitions ==============================

[public]

comment = xuegod.cn

path =/share

public = yes

#############################################################################################################

2# 通过用户名和密码共享文件。把/xsb  共享出去,只有知道用户名和密码的同事可以看这个共享。在/xsb目录中存放销售部的重要数据,为了保证其他部门无法查看其内容,我们需要将全局配置中security 设置为user 安全级别,这样就启用了samba 服务器的身份验证机制,然后在共享目录/xsb下设置valid users 字段,配置只允许销售部员工能够访问这个共享目录

区分samba用户和系统用户区分

# ———————– Standalone Server Options ————————

security = user

passdb backend = smbpasswd

smb passwd file = /etc/samba/smbpasswd

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

group add groupadd xsb

useradd -g xsb xsb01

useradd -g xsb xsb02

添加相应samba账号

smbpasswd -a xsb01

smbpasswd -a xsb02

确认密码是否产生

cat smbpasswd

xsb01:501:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:F521E0101DF9190247F01AD0C019652A:[U          ]:LCT-58C93762:

xsb02:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:32ED87BDB5FDC5E9CBA88547376818D4:[U          ]:LCT-58C9376A:

修改配置文件,指定共享目录,设置访问权限

vi /etc/samba/smb.conf

[xsb]

comment = xsb data

path = /xsb

valid users = @xsb

#############################################################################################################

退出smbclient连接

Windows

net use //查看连接用户

net use * /delete  //删除连接用户

Linux

killall -9 smbclient

#############################################################################################################

虚拟用户映射

vi /etc/samba/smbusers

格式: samba 帐号 = 虚拟帐号(映射帐号)

 

强烈建议不要将samba用户的密码与本地系统用户的密码设置成一样,可以避免非法

Be the First to comment.

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注