samba的安装
gunzip
tar xvf
cd source
./configure --with-smbmount --prefix=/usr/local/samba
make
make install
vi /etc/ld.so.conf
/usr/local/samba3.4/lib
ldconfig
vi /etc/rc.d/rc.local
/usr/local/samba/sbin/smbd -D &
/usr/local/samba/sbin/nmbd -D &
/usr/local/samba/sbin/winbindd -D &
samba原理
Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限设置。在早期,SMB运行于NBT协议
(NetBIOS over
TCP/IP)上,使用UDP协议的137、138及TCP协议的139端口;后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT
层,使用TCP协议的445端口。
(1)samba的工作流程
当客户端访问服务器时,信息通过SMB协议进行传输,其工作过程可以分成四个步骤:
步骤1:协议协商
客户端在访问Samba服务器时,发送negprot指令数据包,告知目标计算机其支持的SMB类型。Samba服务器根据客户端的情况,选择最优的SMB类型,并做出回应;
步骤2:建立连接
当SMB类型确认后,客户端会发送session setup指令数据包,提交帐号和密码,请求与Samba服务器建立连接,如果客户端通过身份验证,Samba服务器会对session setup报文作出回应,并为用户分配唯一的UID,在客户端与其通信时使用;
步骤3:访问共享资源
客户端访问Samba共享资源时,发送tree connect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源;
步骤4:断开连接
共享使用完毕,客户端向服务器发送tree disconnect报文关闭共享,与服务器断开连接。
(2)samba相关进程
Samba服务是由两个进程组成,分别是nmbd和smbd。
nmbd:其功能是进行NetBIOS名解析,并提供浏览服务显示网络上的共享资源列表。
smbd:其主要功能就是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输
samba搭建
一、安装和启动samba
(1)使用命令rpm -qa | grep samba可以检查是否安装了samba服务,没有安装下载安装一个即可;
(2)关闭防火墙:可使用service iptables stop命令关闭防火墙,也可以对防火墙进行修改,放行某些端口(如445);
(3)samba服务操作:service smb start | stop | restart;如果想让samba服务开机自动加载,可使用ntsysv命令打开开机自动加载的服务,并勾选smb后按Tab键确认退出,即可实现开机加载samba服务;
二、配置samba服务
(1)samba服务的配置文件是
/etc/samba/smb.conf,smb.conf文件中包括4中结构,
[Global]、[Homes]、[printers]、[Userdefined_shareName],其中Globa用于定义全局参数和缺省
值;Homes用于用户的home目录共享;Printers用于定义打印机共享;Userdefined_ShareName用于自定义共享(可有多
个)。(说明:文件中开头带有"#"为说明文件,不执行, 开头带有";"为举例文件,不执行(若想让其执行,去掉";"));
(2)配置全局参数[global]
1) 基本全局参数
workgroup 设置samba要加入的工作组;server string 指定浏览列表里的机器描述;netbios name
设置samba的NetBIOS名字 (需要自己添加);client code page 设置客户字符编码也
936为简体中文(需要自己添加);display charset、unix charset、dos
charset是设置字符集(主要目的是支持中文,通过locale命令获取LANG的值,这里为zh_CN.GBK,可在相应
的.bash_profile里添加export LANG=zh_CN.GBK后source即可);
2) 日志全局参数
log file 指定日志文件的名称;max log size 指定日志文件的最大尺寸(KB)。
3) 安全全局参数
security
定义samba的安装等级:share:用户不需要用户名和密码即可登陆samba服务器;user:由提供samba服务的samba服务器负责检查帐
户及口令;server:检查帐户及口令的工作指定由另一台WindowsNT/2000或samba服务器负责;domain:指定windowsNT
/2000域控制器来验证用户帐户、密码;
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
这两行用于设定是否对samba密码进行加密,并指定加密文件存放路径。
hosts allow 定义允许访问此服务器的IP地址,如192.168.1. 意思为只有192.168.1.0这个网段的IP才能访问该服务器
(3)配置home共享[home]
由于在home共享默认将用户的宿主目录进行了共享,这是十分危险的。所以我们必须删除home共享,方法很简单,将所有的指令前加";"或"#",让这条指令不执行,也就不对用户的宿主目录共享了
(4)配置自定义共享
自定义共享,只需在文件最后加入[$name],$name任意起,其参数意义为:comment 描述该共享的名称;path
定义该共享的目录;browseable 指定共享的目录是否可浏览;writable 指定共享的目录是否有写入权限;read only
指定共享的目录为只读权限;public 指定是否可以允许Guest帐户访问;guest ok
通public相同,yes为允许guest访问;only guest 指定只有guest用户可以访问;calid users
指定访问该共享的用户。
(5)其他
1) 访问服务器需用户名和密码验证:命令行下输入smbpasswd -a
test,使test用户同时成为samba用户(前提Global中设置security=user);smbpasswd -d test
禁用test用户作为samba用户、smbpasswd -e test 启用test用户作为samba用户、smbpasswd -x test
删除test用户作为samba用户;
2) 客户端只能通过用户访:在相应[Userdefined_shareName]中添加valid users = test,即可只允许该用户登录;
3) 上面实例中给出的是一个针对guest用户仅read功能的情况,那其中的东西该如何维护,可以新建一用户,其宿主目录设为/home/seqa_photo,仅该用户维护即可。
完成以上配置后重启samba服务,在文件窗口打开"\\\10.20.146.13"即可看到存放在linux上的内容。
乱码处理
用windows访问Linux下的samba服务器,在访问有汉字的文件夹的时候,看到里面的中文文件名都是乱码。
解决办法:
(1) 打开/etc/sysconfig/i18n
设置为:
LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
其中LANG="zh_CN.GB2312" 是必须的(如果你不想让中文乱码的话!!!),其它的可以按照自已的需求来改变。
(2) 打开smb.conf
添加:
display charset = cp936
unix charset = cp936
dos charset = cp936
重新启动系统即可。
注:主要还要看Linux服务器用什么locale,比如我用GBK的,smb.conf里那些全都得改成GBK,而不是cp936。
- 大小: 5.9 KB
- 大小: 4.7 KB
- 大小: 2.9 KB
- 大小: 2.3 KB
- 大小: 3.1 KB
- 大小: 3.5 KB
- 大小: 16.2 KB
分享到:
相关推荐
Linux下Samba服务器的搭建——实现LINUX与WINDOWS之间文件共享 本文主要讲解了Linux操作系统下如何设置Samba服务器,实现Linux与Windows之间的文件共享。Samba服务器是Microsoft和Intel在1987年开发的协议,可以用...
### RHEL6 samba服务搭建知识点详解 #### 一、Samba概述 Samba是一款用于在基于UNIX系列操作系统与微软Windows操作系统之间实现资源共享的自由软件。它主要通过支持SMB/CIFS(Server Message Block/Common Internet...
### Samba共享服务器搭建知识点详解 #### 一、Samba简介 Samba是一款在Linux和UNIX系统上实现SMB协议的免费软件,它由服务器端和客户端程序组成。原本SMB协议是Windows操作系统间用于资源分享的一种协议。由于微软...
Samba服务器的搭建是将Linux系统与Windows网络无缝结合的关键步骤。Samba作为一个开源软件,遵循GNU Public License (GPL),允许用户在不同操作系统之间共享文件和打印机,使得Linux主机能够接入Windows网络,反之...
Samba服务器搭建是一个重要的任务,尤其对于那些希望在Windows和Unix/Linux系统之间实现资源共享...理解SMB协议和Samba服务器的工作原理,以及如何定制`/etc/samba/smb.conf`,对于成功实现跨平台的资源访问至关重要。
Samba服务工作原理是响应客户端的访问请求,检查smb.conf文件中的共享目录和访问权限,最后将系统信息和用户访问行为存放在日志文件中。 Smb.conf文件中的配置项包括security设置,它定义了用户访问Samba服务器的...
在Linux系统中,Samba服务器扮演着至关重要的角色,它使得Linux主机能够与Windows系统进行无缝的文件共享和打印服务。以下将详细讲解Samba服务器的配置方法,包括安装、用户管理以及配置文件的设置。 首先,安装...
本实验的目的包括掌握 Samba 的基本概念、掌握 Samba 服务器安装与配置、实现 Window 与 Linux 资源共享、了解 Samba 的原理和使用系统提供的软件搭建 Samba 服务器等多方面的内容。 实验环境 本实验使用的平台是 ...
Samba服务器的安装与配置是将Linux系统与Windows系统整合在一起进行文件和打印共享的关键步骤。Samba软件允许Linux系统兼容...了解Samba的工作原理和配置步骤,对于搭建和维护一个多操作系统环境的网络至关重要。
Samba原理 ##### 1.1 Samba概述 Samba服务作为Linux系统中极为重要的组成部分之一,其核心价值在于它构建起了Linux与Windows系统之间的桥梁。通过Samba服务,不同操作系统之间的文件共享、打印机共享等功能得以...
通过理解Samba的工作原理和配置方法,你可以在Linux环境中轻松搭建文件共享服务器,促进跨平台的协作。记得在生产环境中,安全性和稳定性是首要考虑的因素,因此在配置过程中要确保数据的安全。
1. Samba服务的技术原理:Samba服务采用客户机/服务器模型,其中smbd进程控制发布共享目录与权限、负责文件传输,而nmbd进程则负责名称解析,基于NETBIOS协议将计算机名称解析为相应的IP地址,从而实现信息通讯。...
Linux+Samba服务配置汇编.pdf 本文档详细介绍了Samba服务的配置和安装过程。...本文档提供了Samba服务的详细安装和配置指南,可以帮助用户快速搭建Samba服务,并实现资源共享和打印机共享等功能。
标题中的“samba的搭建”指的是在Linux系统中配置Samba服务器的过程,这是一项关键的任务,使得Linux系统能够与Windows网络共享文件和打印机。Samba是一个开源软件,它实现了SMB/CIFS协议,使得Linux和UNIX系统能...
实验目的是掌握Samba服务器的配置应用,通过了解Samba的原理,学习如何在Linux环境下搭建Samba服务器,实现Linux与Windows之间的文件共享。Samba服务器扮演着一个关键角色,它使得不同操作系统平台间的文件和打印...
#### 2.1 Samba原理 ##### 2.1.1 Samba概述 Samba,这个名字可能会让人联想到巴西的热情桑巴舞,但实际上它是指一款强大的网络服务软件。Samba最核心的功能是在Linux和Windows两大操作系统之间建立起一座桥梁,...
1. **搭建Samba服务器**:能够设置和部署Samba服务,使其在Linux和Windows之间提供资源共享。 2. **管理Samba**:能够熟练进行Samba服务器的日常管理,包括配置更新、用户权限调整等。 3. **访问共享资源**:在...
【cifs 文件存储与 samba 服务】 CIFS(Common Internet File System)是一种网络文件共享协议,主要用于Windows系统之间的文件共享。它基于客户/服务器模型,允许程序通过互联网访问远程计算机上的文件并请求服务...
某公司的管理员需要搭建SAMBA服务器,IP地址及允许的访问网段自定义。SAMBA服务器的安全级别为user级,所在工作组为WORKGROUP,使添加的用户可以访问其个人目录及共享目录/smb_share,并可以对目录读、写、执行。 ...