Samba服务器配置

1991年,Andrew Tridgwell通过对数据包的分析,而编写了Samba这个自由软件(Samba官方网站:http://www.samba.org),只要在类UNIX启用Samba服务,类UNIX系统就好像变为了Windows甜系统,可以利用SMB协议与Windows系统之间实现资源共享等功能。

Samba是开放源代码的GPL自由软件,可以说又是自由软件界的一个重大贡献。Samba的出现彻底解决了类UNIX与Windows之间的资源共享与访问,它以其简洁、实用、灵活配置、功能强大的特点受到越来越广泛的关注。也是因为这个原因,现在几乎所有的类UNIX都可以使用Samba服务。

由于Samba作为类UNIX系统和Windows的通信桥梁,在设计上是让类UNIX系统加入到Windows网络中,而不是让Windows加入类UNIX网络中,因此需要了解一下Windows网络的工作原理。Windows 9x、Windows Me、Windows NT中SMB使用137(UDP)、138(UDP)、139(TCP)、端口,Windows 2000以后的版本中使用445(TCP)端口。

Samba服务主要提供以下功能:

(1)共享UNIX系统上的资源(目录、打印机)。

(2)使用Windows上的共享资源(目录、打印机)。

(3)通过Windows对使用Samba资源的用户进行认证。

(4)使用WINS服务进行名称解析及浏览。

(5)通过SSL实现安全的数据传输。

Samba服务主要由以下两个进程组成:

(1)nmbd:进行NetBIOS名称解析,提供浏览服务显示网络上的共享资源列表。

(2)smbd:管理Samba服务器上的共享目录、打印机等。主要是针对网络上的共享资源进行管理服务。当要访问服务器时,要查找共享文件,这时要靠smbd这个进程来管理数据传输。

Samba服务与Samba客户端的工作流程如下:

(1)协议协商:客户端在访问Samba服务器时,发送negprot命令包,告知目标计算机其支持的SMB类型。Samba服务器根据客户端情况,选择最优的SMB类型,并做出回应。

(2)建立连接:当SMB类型确认后,客户端会发送session setup命令数据包,提交账号、密码,请求与Samba服务器建立连接。如果客户端通过身份验证,Samba服务器会对session setup报文做出回应,并为用户分配唯一的UID,在客户端与其通信。

(3)访问共享资源:客户端访问Samba共享资源时,发送tree connect命令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户与共享资源的连接分配TID,客户端即可以访问需要的共享资源。

(4)断开连接:共享完毕,客户端向服务器发送tree disconnect报文关闭共享。

samba服务器安装

IP地址: 192.168.1.53

1、安装samba

登录系统检查是否安装了samba软件包,检查命令如下:

[[email protected] ~]# rpm -qa | grep samba
samba-winbind-clients-3.5.10-125.el6.x86_64
samba-3.5.10-125.el6.x86_64
samba-common-3.5.10-125.el6.x86_64

如果有输出则表示已经安装好了,没输出可以用 yum -y install samba 安装。

samba安装完会生成配置文件目录/etc/samba。

2、核心配置文件smb.conf

添加共享目录,内容如下:

[[email protected] ~]# cd /etc/samba/
[[email protected] samba]# cp smb.conf smb.conf.bak20121130 //对配置文件进行备份
[[email protected] samba]# vim smb.conf
[global] //表示以下的内容为全局配置,必须要有
workgroup = WORKGROUP //用来定义工作组,
netbios name = chlinux.net //用来定义windows中显示出来的计算机名
server string = my linux samba server //定义samba服务器的说明信息
log file = /var/log/samba/%m.log //定义samba的日志文件,%m表示客户端主机名,samba服务器会在指定的目录中为每个登录主句建立不同的日志文件
security = share //定义数据共享的方式,常用的有user和share,user表示需要密码验证后才能共享数据,share表示可以直接共享数据,
 [sharing] //定义在windows中显示出来的共享目录
 path = //data //共享数据的路径
 writeable = yes //指定设置是否可写,yes为可写,no为不可写
 browseable = yes //定义是否可以再windows下看到共享文件夹,如果要隐藏共享文件夹设置为no就是
 guest ok = yes //定义匿名用户是否可写

3、建立共享目录:

[[email protected] samba]# mkdir /data //创建共享目录
[[email protected] samba]# chown nobody:nobody /data/ //由于要设计匿名用户可以上传和下载,需要给/data木授权为nobody
[[email protected] samba]# cp /etc/passwd /data/ //拷贝测试文件到共享目录

4、samba服务的组成和使用:

组成samba运行的有两个服务,一个是SMB,另一个是NMB,SMB是samba的核心,只有启动SMB服务才能实现文件的共享,而NMB服务的负责解析用的,类似于DNS实现的功能,NMB可以把linux系统共享的工作组名称与其IP对应起来。如果NMB没有启动,就只能通过IP访问共享文件。

可以通过/etc/init.d/smb start/stop/restart 来启动、关闭、重启,方法如下:

[[email protected] samba]# /etc/init.d/smb start
启动 SMB 服务: [确定]
[[email protected] samba]# /etc/init.d/nmb start
启动 NMB 服务: [确定]
[[email protected] samba]#

5、访问samba服务器的共享文件,在运行输入\\192.168.1.53

6、授权登录samba服务器:

1,添加系统级用户

首先添加share1、share2两个系统用户,并分别指定工作目录为/share1 和share2,操作如下:

[[email protected] samba]# useradd -d /share1 -s /sbin/nologin share1 //创建用户,指定home目录和shell
[[email protected] samba]# useradd -d /share2 -s /sbin/nologin share2
[[email protected] samba]# cp /root/install.log* /share1/
[[email protected] samba]# cd /share1
[[email protected] share1]# ll
总用量 56
-rw-r--r--. 1 root root 41933 12月 1 07:35 install.log
-rw-r--r--. 1 root root 8206 12月 1 07:35 install.log.syslog

2、创建samba登录用户,系统用户是linux上面对应的用户,而samba用户是客户端连接samba服务器时所需的用户。创建samba用户使用的命令是smbpasswd,而smbpasswd是通过读取/etc/passwd文件中存在的用户名,进而设置密码的。

下面分别为share1 和 share2设置samba服务器的登录密码,操作如下:

[[email protected] share1]# smbpasswd -a share1
New SMB password:
Retype new SMB password:
Added user share1.
[[email protected] share1]# smbpasswd -a share2
New SMB password:
Retype new SMB password:
Added user share2.
[[email protected] share1]#

3、配置smb.conf文件

[global]
workgroup = WORKGROUP
netbios name = chlinux.net
server string = my linux samba server
log file = /var/log/samba/%m.log
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = 192.168.1.254/24 192.168.2.254/24
os level = 33
 [share1]
 path = /data
 comment = This is share1
 valid users = share1
 writeable = yes
 browseable = yes
 [share2]
 path = /data
 comment = This is share2
 valid users = share2
 writeable = yes
 browseable = yes
 create mask = 664
 directory mask = 755
 writeable = yes
 browseable = yes
max log size //定义日志文件的大小,设置为0代表不限制,默认单位是KB上面这段配置与上面那个例子基本相同,只是增加了一些权限控制的东西,新增各个选项的含义如下:

encrypt passwords //设定用户密码是否加密,yes表示加密,no表示不加密

smb passwd file //指定samba用户的密码文件

os level //定义samba server的OS level,OS level的值从0-255 ,windows NT的值为33 ,windows 95/98的值为1,samba server的os level值至少要大于33

comment //共享目录的说明

valid users //定义客户端访问的用户

create mask //定义客户端用户创建文件的默认权限为644,表示可读可写

directory mask //定义客户端用户创建目录的默认权限为755,表示可读可写可执行

Samba服务器配置,布布扣,bubuko.com

时间: 2024-12-21 03:43:49

Samba服务器配置的相关文章

配置Samba服务器配置现实文件共享(详解)

配置Samba服务器配置现实文件共享     一:实验环境 Samba服务端:xuegod63.cn   IP:192.168.1.63 Samba客户端:xuegod64.cn   IP:192.168.1.64 1:关闭iptables #很重要 2:关闭selinux 二:实验目标 1.samba服务器概述 2.samba服务器配置文件 3.实战,举例 三:实验代码 第一块:Samba服务概述:     Samba 最先在Linux 和Windows 两个平台之间架起了一座桥梁,正是由于S

Samba服务器配置2

实验01:Samba服务器配置 实验目标: 掌握samba服务器的配置 实验步骤: 用户认证的共享设置 添加共享账号(设置密码) [[email protected]~]# useradd nick [[email protected]~]# useradd hunter [[email protected]~]# pdbedit -a nick new password: retype newpassword: Unixusername:        nick NT username: Ac

2016-08-05:samba服务器配置

centos samba服务器配置 配置smb.conf文件 [share] path = /home/lee writable = yes 添加smb用户 smbpasswd -a root 启动smb服务 service smb restart 关闭防火墙 service iptables stop 设置SELinux vi /etc/selinux/config SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行 参考资料 Linux下最完整的Sam

2-5-NFS服务器配置和autofs自动挂载-配置Samba服务器配置现实文件共享

大纲: NFS服务器运行原理 实战配置NFS服务器 配置Samba服务器配置现实文件共享 ----------------------------------------------- 问题: # 怎么查看文件系统类型?! file -s /dev/sda #可查看未挂载的文件系统 df -T  #df -lhT #查看已挂载文件系统 mount #查看已挂载文件系统 fdisk /dev/sda  <输入 c 或 u 或 p 查看信息> parted  <输入p  打印分区表>

linux基础命令学习(七)samba服务器配置

samba有五种安全级别,它们分别是: share:不需要samba账户就可登陆samba服务器      user:需要添加samba账户才可以登陆samba服务器      server:由另外一台samba服务器来对用户进行身份验证.       domain:把samba服务器加入到NT域,由NT的域控制器来进行身份验证.      ADS:Active Directory Service,活动目录服务,它是samba3.0中新增的身份验证方式.采用ADS验证方式,samba服务器集成到

ubuntu server samba服务器配置

samba可以实现不同操作系统电脑之间的文件共享服务 如:mac os,linux,unix,windows,等 一:安装samba服务器 ubuntu server14命令行下 sudo apt-get install samba #安装samba sudo vim /etc/samba/smb.conf #编辑smb配置文件 安装这后,默认已经开启了,打印机共享服务 二:创建匿名访问的共享目录 cd / #切换到根目录 sudo mkdir common #创建共享目录 sudo chmod

Ubuntu下的Samba服务器配置

一. samba的安装: sudo apt-get insall samba 二. 创建共享目录: mkdir /home/phinecos/sharesodu chmod 777 /home/gec/share 三. 创建Samba配置文件: 1. 保存现有的配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 2. 修改现配置文件 sudo gedit /etc/samba/smb.conf 在smb.conf最后添加 [share

Fedora20下samba服务器配置

1.查看是否安装好samba服务器,如果没有使用即可. [[email protected] ~]$ rpm -qa | grep samba samba-libs-4.1.12-4.fc20.i686 samba-common-4.1.12-4.fc20.i686 samba-client-4.1.12-4.fc20.i686 samba-4.1.12-4.fc20.i686 如果没安装,则使用下面指令安装 [[email protected] ~]$ sudo yum install -y 

到目前为止,Linux下最完整的Samba服务器配置攻略

关 于Samba,大家有没有这种感觉,弄了N久丫的死活不喘气儿.找来各种“哥”和“姐”,发现全是“详解…配置专题”,看了半天不知道别个在说什么,好不 容易找了个简单的教程,从头到尾跟着做,尼玛,浪费时间精力不说,就是跑不起来.是不是有种吐血的生理反应了.唉,不会写文档的娃,伤不起啊.而本文实现 的是Linux和Windows间资源互通的问题:在Linux下架设Samba服务器,在Windows下来访问. 1.  下载及安装Samba 推荐用yum来安装,这样它可以自己解决包的依赖关系,省时.省事