CentOS6.6搭建Samba共享服务

  1. Samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

简单来说,Samba是实现Windows和Linux跨平台文件共享的;Samba有两个守护进程,分别是smbd和nmbd;

smb:监听tcp 139 445端口,实现档案共享、用户验证等;

nmb:监听udp137和138端口,实现netBIOS解析,处理浏览共享等

Linux上要实现Samba需要以下套件

Samba         实现服务

samba-client    Linux客户端

cifs-utils        实现跨平台访问

环境检查

  1. 环境中是否已安装Samba及相关套件

[[email protected] ~]# rpm -qa samba samba-client cifs-utils

samba-client-3.6.23-12.el6.x86_64

cifs-utils-4.8.1-19.el6.x86_64

2)  安装samba

经过检查,samba-client和cifs-utils已经默认安装(如果没有安装,安装即可),所以安装samba主服务即可;

[[email protected] ~]# yum -y install samba

采用yum安装,自动解决依赖关系;

samba主配置文件介绍

主配置文件:

/etc/samb/smb.conf

默认配置:

[[email protected] ~]# grep -vE "^#|^$|^;" /etc/samba/smb.conf

[global]

workgroup = MYGROUP                          //samba全局设置

server string = Samba Server Version %v

# logs split per machine

log file = /var/log/samba/log.%m

# max 50KB per log file, then rotate

max log size = 50

security = user

passdb backend = tdbsam

# the login script name depends on the machine name

# the login script name depends on the unix user used

# disables profiles support by specifing an empty path

load printers = yes

cups options = raw

#obtain list of printers automatically on SystemV

[homes]                                                    //用户共享目录设置

comment = Home Directories

browseable = no

writable = yes

[printers]                                                  //打印设置

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes

另外该配置文件还提供了共享设置案例,只不过用;注释掉了

[[email protected] ~]# grep -n  "^;" /etc/samba/smb.conf |tail -n 20

243:;   store dos attributes = yes

252:;   valid users = %S//指定授权访问用户或用户组

253:;   valid users = MYDOMAIN\%S

264:;   [netlogon]//指定共享的自定义标识

265:;   comment = Network Logon Service//指定共享目录的说明文字

266:;   path = /var/lib/samba/netlogon//指定共享的实际路径

267:;   guest ok = yes//相当于public = yes ,所有人可用

268:;   writable = no//与read only相反,是否可写

269:;   share modes = no

274:;   [Profiles]

275:;   path = /var/lib/samba/profiles

276:;   browseable = no//设置为隐藏

277:;   guest ok = yes

282:;   [public]

283:;   comment = Public Stuff

284:;   path = /home/samba

285:;   public = yes

286:;   writable = yes

287:;   printable = no

288:;   write list = +staff

常见配置语句解析

workgroup: 工作组名称

server string:服务器描述

security:    安全级别,user为要求用户验证

comment:   对此共享目录的说明文字

path:       共享目录的实际位置

browseable: 是否可见,no为隐藏

public:      是否所有人可见

writable:  是否可写,与read only相反

除了以上说明之外,还可以采用 man 5 smb.conf来帮助

账号说明

SAMBA使用可以采用匿名使用,可认证使用,具体采用方式由主配置文件中security决定;

samba一共有5种,分别是share、user、server、domain、ads。
1.share:所有人都可以访问这台samba服务器(不需要输入用户名和密码)。
2.user:需要输入有效的用户名和密码才能访问samba服务器(身份验证由samba服务器负责)。
3.server:与user相同,只是将身份验证交由指定的另一台samba服务器负责。
4.domain:将身份验证交由域控制器负责。
5.ads:将身份验证交由域控制器负责(比domain更为安全一点)。

共享访问

Windows访问

Linux访问

smbclient访问

smbclient L 服务器地址

smbclient //服务器地址/共享名

smbclient U 用户名 //服务器地址/共享名

账号管理

账号设置

账号名称必须存在于系统中,但采用独立的密码,账号文件存在于/var/lib/samba/private/passwd.tdb;访问共享时,采用用户和密码登陆,权限取决于对应的系统账号的权限;

账号管理工具

pdbedit 工具

-a 指定系统账户为samba账户,并设置密码;

-L 查看共享账号信息

-x 删除共享账号

案例解析

根目录下/samba为共享目录,目录内有music、carton、MV目录,其中分别对应各类档案,供上传和下载;其中vip账户woon可以写;

1)设置环境

[[email protected] samba]# ls

carton  music  MV

2)配置共享

[[email protected] samba]# vim /etc/samba/smb.conf

[music]

path = /samba

public = yes

read only = yes

write list = woon

3) 添加共享账户

[[email protected] samba]# pdbedit -a woon

[[email protected] samba]# useradd samba

[[email protected] samba]# pdbedit -a samba

[[email protected] samba]# setfacl -d -m u:woon:rwx /samba/

4)重启samba服务;

service smb restart

service nmb estart

实验验证

  1. woon用户验证

[[email protected] ~]# ls -al /etc/ >> /samba/ls.log

[[email protected] ~]# rm -rf /samba/install.log

[[email protected] ~]# smbclient -U woon //192.168.239.128/music

Enter woon‘s password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-12.el6]

smb: \> ls

.                                   D        0  Tue Mar  3 17:48:13 2015

..                                 DR        0  Tue Mar  3 17:32:03 2015

MV                                  D        0  Tue Mar  3 17:38:00 2015

music                               D        0  Tue Mar  3 17:38:59 2015

ls.log                                   15220  Tue Mar  3 17:48:03 2015

acl                                 D        0  Tue Mar  3 17:34:37 2015

carton                              D        0  Tue Mar  3 17:33:47 2015

33788 blocks of size 262144. 14918 blocks available

smb: \> put install.log

putting file install.log as \install.log (8637.9 kb/s) (average 8638.1 kb/s)

smb: \> ls

.                                   D        0  Tue Mar  3 17:48:39 2015

..                                 DR        0  Tue Mar  3 17:32:03 2015

MV                                  D        0  Tue Mar  3 17:38:00 2015

music                               D        0  Tue Mar  3 17:38:59 2015

ls.log                                   15220  Tue Mar  3 17:48:03 2015

时间: 2024-10-27 03:46:28

CentOS6.6搭建Samba共享服务的相关文章

搭建Samba共享服务及访问控制

Samba共享服务 Linux如何访问Windows的共享? Windows能实现访问Linux的共享吗? 关于Samba --SMB/CIFS协议 -- Server Message Block ,服务消息块 -- Common Internet File System , 通用网际文件系统 Samba服务基础 主要软件包 [[email protected] Server]# rpm -qa | grep samba samba-common-3.0.33-3.39.el5_8      

搭建samba共享服务

一.samba是开源软件项目之一,它在Linux/UNIX操作系统中实现了微软公司的SMB/CIFS网络协议,从而使跨平台的文件共享变得更加容易.1.samba服务程序组件1)samba的smbd服务给用户或者主机提供资源共享服务smbd使用TCP协议通信SMB给Linux用户提供资源共享服务使用TCP/139端口CISFS通用互联网文件系统,windows用户提供资源访问服务使用TCP445端口2)samba的nmbd服务给用户提供域名解析使用nmbd服务使用的是UDP协议使用137和138端

一、掌握Samba服务的配置原理;二、在linux下配置samba共享服务

一.掌握Samba服务的配置原理二.在linux下配置samba共享服务(匿名共享.身份验证.账户映射.访问控制)Samba介绍:Samba是运行在Linux与Unix之上的免费共享服务的软件,是典型服务器/客户端模式,它有两个进程,一个是smbd,主要是用来管理共享文件的进程,另一个是nmbd,用来实现主机名到IP地址的转换(相当于Windows下的NetBIOS的功能),smbd运行在TCP的139.445端口,nmbd则运行在UDP的137.138端口(运行samba服务后可以用如:net

linux——如何搭建samba共享目录中的,用户认证共享及匿名用户共享?(不分系统)

1.应用场景,搭建sam共享目录可用于linux以及windows之间 2.服务端ip:192.168.56.11 (A)客户端ip:192.168.56.133 (B) 查看防火墙状态并关闭 [[email protected] ~]#systemctl status firewalld [[email protected] ~]#systemctl disable firewalld [[email protected] ~]#systemctl stop firewalld [[email

samba共享服务的实现

实现SMB共享 1.在samba服务器上安装samba包 yum install samba  -y 2.创建samba用户和组 [[email protected] ~]# groupadd  -r  amdin [[email protected] ~]# useradd –s  /sbin/nologin  -G admin  wang [[email protected] ~]# smbpasswd  -a wang    #设置密码 [[email protected] ~]# use

Samba共享服务:匿名共享、身份验证、账户映射、访问控制

实验项目:Samba服务匿名共享:Samba服务身份验证共享:Samba服务账户映射.Samba服务访问控制 实验环境:VMware虚拟机Linux系统(我这里是Redhat6.5)Win7(这里仅用于测试实验效果) 实验目的:1.在win7中匿名共享Linux中的文件(无需身份验证.无需密码)2.在win7中共享Linux中文件,但是需要身份验证和密码验证3.给账户配置别名,用别名登陆共享,提高安全性4.禁止一个网段或多个网段访问 实验经过:无论是在Windows.Linux.Unix,选用S

centos之samba共享服务

内容大纲: samba简介 centos上部署samba服务 samba服务的配置详解 samba服务的共享资源部署 samba服务的共享资源权限设置 samba服务共享帐号映射 一.介绍Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. SMB协议是客户机/服务器型协议,客户

vsftpd文件传输 、 Samba共享服务

Vsftpd 1.什么是FTP? FileTransfer Protocol 基于C/S结构的文件传输协议 2.使用什么协议?什么端口? TCP 21    建立命令链路 TCP 20    在主动传输模式下服务器使用20端口向客户端建立数据链路 3.FTP工作原理 --------- Client               Server-------------- 1031                21 1032                 20 ①客户端向服务器发出连接请求,同时

samba共享服务

方法一 1.安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yumyum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,命令十分简单:yum install samba,快捷方便的背后离不开程序员的辛苦啊!2.创建共享文件夹,这里就是mkdir -m 777 /home/def/share3.修改/etc/samba/smb.conf,这里面的参数就比较