天天看点

Samba文件共享服务

一、samba软件包安装

samba-3.0.33-3.28.e15.i386.rpm //服务包

samba-client-3.0.33-3.28.e15.i386.rpm //客户端包

samba-common-3.0.33-3.28.e15.i386.rpm //公共包

samba-swat-3.0.33-3.28.e15.i386.rpm //web 包

注:先查看下当前是否安装有以上软件包,如果缺少那个包就安装。

[root@localhost~]# rpm –qa | grep “^samba”

二、samba服务的程序组件

注:samba服务器提供smbd,nmdb 两个服务程序,不同的功能。

smbd---负责为客户机提供服务中的共享资源(目录和文件等)的访问;

nmbd---负责提供基于netblos协议的主机名称解析,以便为windows主机查询服

[root@localhost~]# service smb start //启动samba服务

[root@localhost~]# netstat -natup | grep “mbd” //查询服务端口

三、主配置文件smb.conf

注:samba服务器的常见配置项及说明。

workgroup 设置服务器所在的改革作组名称

server string 设置服务器的说明文字,描述等。

security 设置服务器的安全级别,可设为以下四个中的一个:share (可匿名

访问),user(需由本服务器验证用户名及密码),server(需指定另

一台服务器来验证用户名及密码),domain(由windows域控制器

验证用户名及密码)

log file 设置samba服务器的日志文件,默认设为 /var/log/samba/%m.log

按每个客户机建立一个日志文件其中%m 变量表示客户机名或ip

comment 设置对应共享目录的注释,说明信息

path 设置对应共享目录在服务器中的文件路径

browseable 设置该共享目录在“网上邻居”中是否可见,设置为no时隐藏目录

guest ok 设置是否所有人都可以访问共享目录,与public配置项作用相同

writable 设置该共享目录是否可写,与read only配置项作用相反

Samba文件共享服务

构建文件共享服务器

(一)、可匿名访问的共享

注:可匿名访问的共享适用于公开的资源分享,一般只建议提供只读访问。

设置匿名共享时,在主配置文件smb.conf 中主要调整两个地方即可,

其一:将默认级别修改为share;其二:添加一段共享目录配置

#如将本地挂载的光盘目录/media/cdrom/发布为共享,共享名为rhel5

[root@localhost~]# mount /dev/cdrom /media/cdrom/ //挂载光盘

[root@localhost~]# vim /etc/samba/smb.conf

[global]

workgroup =workgroup //使用windows主机默认工作组

security = share //默认允许匿名访问

…..//其他根据要求修改

[rhel5]

comment = rhel 5.5 dvddirectory //描述

path =/media/cdrom //共享目录路径

public = yes //所有人都可访问

read only = yes //只读权限

[root@localhost~]# service smb restart

(二)、需用户验证的共享

注:设置用户验证的共享文件时,在主配置文件smb.conf 中同样需要

调整两个地方;其一:将默认的安全级别修改为user; 其二:添加

共享目录配置,指定用户权限。在此之前,还需先创建授权共享

帐户。

1. 设置用户访问授权

#创建共享用户 vina lisi 确认共享目录

[root@localhost~]# useradd vina //创建系统用户vina

[root@localhost~]# useradd lisi //创建系统用户lisi

[root@localhost~]# pdbedit -a -u vina //再添加共享用户vina

[root@localhost~]# pdbedit -a -u lisi //再添加共享用户 lisi

[root@localhost~]# mkdir /abc/ //新建本地测试目录

#修改smb.conf配置文件,添加名为 [abc]的共享目录配置段

[root@localhost~]# vim/etc/samba/smb.conf

security = user

….//

[abc]

comment = abc //描述

path = /abc/ //共享目录路径

read only =no // 不可写

public = no //不是所有人都可访问

valid users =vina, lisi //有效用户或组@组名

write list =lisi //可写用户

2.确定目录访问授权

[root@localhost~]# chmod 777 /abc/

注:有了用户授权之外,和还需要设置上传的文件,创建子目录的

默认权限,

directory mask= 0755 //上传目录权限

create mask =0644 //文件默认权限

[root@localhost~]#pdbedit -l //列出所有samba共享用户

[root@localhost~]#pdbedit -x -u vina //删除samba用户

用户映射及访问地址限制

一、共享帐号映射(别名)

注:samba共享帐户的映射文件位于/etc/samba/smbusers , 在文件后面添加记录即可。

格式:共享用户名 = 别名1 别名2 ….

[root@localhost~]# vim /etc/samba/smbusers

Samba文件共享服务

注:配置好别名记录后,需要修改主配置文件,

添加 [global]

username map = /etc/samba/smbusers

[root@localhost~]# servi ce smb restart

二、访问地址限制

针对访问samba服务器的客户机可以通过“hosts allow ”,”hosts deny” 配置项进行

访问限制,一般应用于[global]全局配置部分,也可应用于某个共享配置段中。限制对象可以使主机名,ip地址或者网络段地址(省去主机部分),多个地址之间以逗号或空格隔开。

[root@localhost~]#vim /etc/samba/smb.conf

hosts allow = 192.168.1. //允许这个网络段地址

一、使用smbclient访问共享文件

1). 查询目标主机的共享资源列表

[root@localhost~]#smbclient -l 192.168.1.1 //查询这个ip主机上的共享资源

2). 匿名访问的文件夹登陆方式

[root@localhost~]# smbclient //192.168.1.1/abc //登陆可以匿名访问的文件夹

3).用户验证文件夹的登陆方式

[root@localhost~]# smbclient -u 用户名 //192.168.1.1/toot

smb: \> pwd //察看当前工作路径

smb: \> ls //列出当前目录下的内容

smb: \> lcd /root/ //将本地目录切换到/root/

smb: \> cd abc/ //切换到共享目录的abc子目录

smb: \abc\> mget test.txt //下载test.txt文件

smb: \abc\> quit //退出共享目录

[root@localhost~]# ls /root/test.txt //确认下载的文件

4). 使用mount 挂载共享文件夹

注:smbclinet 工具可以方便的登陆到samba服务器,但是只由下载到本地以后

才能查看文件内容。而使用mount 工具将共享文件挂载到本地,则通过本

地的挂载点目录即可直接使用共享文件夹的内容。

[root@localhost~]# mount –o username=用户名 //192.168.1.1/toot /mnt

[root@localhost~]# cd /mnt //进里面直接操作

继续阅读