第十一章 网络文件共享服务之samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

在此之前我们已经了解了NFS和FTP,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网主机分享资源,还能与全世界的电脑分享资源。

Samba监听端口有:

tcp的139,445号端口

udp的137,138号端口

tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问

udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析

Samba服务脚本:

/etc/rc.d/init.d/nmb

/etc/rc.d/init.d/smb

Samba进程:

nmbd:对应netbios

smbd:对应cifs协议

winbindd + ldap:对应Windows AD活动目录

Samba用户:

帐号:都是系统用户,/etc/passwd

密码:Samba服务自有密码文件,通过smbpasswd -a USERNAME命令设置

Samba安全级别:

Samba服务器的安全级别有四个,分别是share,user,server,domain

share:表示匿名访问

user:表示基于本地的验证

server:表示由另一台指定的服务器对用户身份进行认证

domain:表示由域控进行身份验证

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

Samba主配置文件的配置内容默认包含三个部分,分别是[global]全局配置、[homes]宿主目录共享设置、[printers]打印机共享设置

[global]全局配置的设置项对整个samba服务器都有效

[homes]则用来设置Linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中

具体配置参数:

workgroup    #表示设置工作组名称;
server string  #表示描述samba服务器;
security     #表示设置安全级别,其值可为share、user、server、domain;
passdb backend #表示设置共享帐户文件的类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本samba密码文件);
comment      #表示设置对应共享目录的注释,说明信息,即文件共享名;
browseable    #表示设置共享是否可见;
writable     #表示设置目录是否可写
path         #表示共享目录的路径;
guest ok    #表示设置是否所有人均可访问共享目录;
printable    #表示设置是否为打印机

测试配置文件是否有语法错误,以及显示最终生效的配置:使用testparm命令

testparm

web界面配置samba:

samba-swat包提供了在web界面上配置samba的功能,其自带web服务,默认端口为901,通过xinetd来管理

Samba访问方式:作为客户端

交互式数据访问:

smbclient -L HOST -U USERNAME
smbclient //SERVER/shared_name -U USERNAME

基于挂载的方式访问:

mount -t cifs //SERVER/shared_name -o username=USERNAME,password=PASSWORD

smbpasswd命令:

-a Sys_User:添加系统用户为samba用户并为其设置密码

-d:禁用用户帐号

-e:启用用户帐号

-x:删除用户帐号

Samba示例:

#使用yum命令安装samba服务器:
yum -y install samba-*

#配置selinux安全机制(去除26行与29行的#号):
sed -i ‘26d‘ /etc/samba/smb.conf
sed -i ‘25 a setsebool -P samba_domain_controller on‘ /etc/samba/smb.conf
sed -i ‘29d‘ /etc/samba/smb.conf
sed -i ‘28 a setsebool -P samba_enable_home_dirs on‘ /etc/samba/smb.conf
#这两行生效后,自己的home目录就可以正常读写了。

#如果想将/test目录设置成完全的共享就要改变文件目录的selunux:
#chcon -t samba_share_t /test

#设置共享类型,有匿名访问,有本地用户验证,默认为user用户验证:
#设置为匿名共享:
#sed -i ‘101d‘ /etc/samba/smb.conf
#sed -i ‘100 a security = share‘ /etc/samba/smb.conf
#设置为本地用户验证:
#sed -i ‘101d‘ /etc/samba/smb.conf
#sed -i ‘100 a security = user‘ /etc/samba/smb.conf
#设置为另一台服务器进行远程验证:
#sed -i ‘101d‘ /etc/samba/smb.conf
#sed -i ‘100 a security = server‘ /etc/samba/smb.conf
#设置为域控验证:
#sed -i ‘101d‘ /etc/samba/smb.conf
#sed -i ‘100 a security = domain‘ /etc/samba/smb.conf

#假设现在有一个文件夹为test,那么就像下面这样来设置共享:
#设置共享的标识:
echo ‘[test]‘ >> /etc/samba/smb.conf

#设置共享的显示名,即在访问时看到的共享名,假设这里共享名为test:
echo ‘comment = test‘ >> /etc/samba/smb.conf

#设置共享路径:
echo ‘path = /test‘ >> /etc/samba/smb.conf

#设置共享是否可见:
echo ‘browseable = yes‘ >> /etc/samba/smb.conf

#设置是否所有人均可访问:
echo ‘guest ok = yes‘ >> /etc/samba/smb.conf

#设置目录是否可写:
echo ‘writable = yes‘ >> /etc/samba/smb.conf

#设置是否允许匿名用户访问:
echo ‘public = yes‘ >> /etc/samba/smb.conf

#设置可以写的用户或组:
echo ‘write list = root,@root‘ >> /etc/samba/smb.conf

#限制访问端:
#设置可以访问的用户或组:
echo ‘valid users = root,@root‘ >> /etc/samba/smb.conf

#设置拒绝来自192.168.72.1的用户访问:
echo ‘hosts deny = 192.168.72.1‘ >> /etc/samba/smb.conf

#设置允许来自192.168.72.2的用户访问:
echo ‘hosts allow = 192.168.72.2‘ >> /etc/samba/smb.conf

#映射共享目录:
#创建用户one:
#useradd one
#为one用户创建smb共享密码:
#smbpasswd -a one

#假设这里映射one用户为aaa用户,那么就要在/etc/samba/smbusers文件中添加如下内容:
#echo ‘one = aaa‘ >> /etc/samba/smbusers

#在全局配置中添加如下内容:
sed -i ‘244 a username map = /etc/samba/smbusers‘ /etc/samba/smb.conf

#启动smb服务:
#service smb start

#重启smb服务:
service smb restart

#重新加载smb服务:
#service smb reload

#设置smb服务随系统启动而启动:
chkconfig smb on

#建立共享文件夹:
mkdir /test
时间: 2024-10-12 09:40:27

第十一章 网络文件共享服务之samba的相关文章

第九章 网络文件共享服务之NFS

9.1 nfs介绍 9.1.1 nfs特点 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源. 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样 nfs适用于Linux与Unix之间实现文件共享,不能实现Linux与Windows间的文件共享功能 nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上 nfs服

第二章--(第七单元)--访问网络文件共享服务

一.什么是网络文件共享服务 网络文件系统是由网络附加存储服务器通过网络向多个主机提供的一种文件系统,而不是由快设备提供的.客户端通过特殊的文件系统协议和格式访问远程存储 二.通用网络文件系统 (适合跨系统使用) 1.安装samba服务 yum install samba-client -y 2.登录172.25.254.250服务器 smbclient -L //172.25.254.250 3.进入172.25.254.250服务器的westos1目录 smbclient //172.25.2

Samba网络文件共享服务介绍

Samba网络文件共享服务 一.samba简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件.后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一

第十章 网络文件共享服务之ftp

10.1 ftp介绍 网络文件共享服务主流的主要有三种,分别是ftp.nfs.samba.在上一章中我们已经了解了nfs,本章我们将来说说ftp. FTP是File Transfer Protocol(文件传输协议)的简称,用于internet上的控制文件的双向传输. FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件. 在FTP的使用当中,用户经常遇到两种概念:下载和上传 下载(Download)文件就是从远程主机拷贝文件至自己的计算

2-7.访问网络文件共享服务

##访问网络文件共享服务## ##学习目标 挂载网络共享 自动挂载网络共享 1.1##挂载网络文件系统 网络文件系统是由网络附加存储服务器通过网络向多个主机提供的一种文件系统,而不是由块设备(例如硬盘驱动器)提供的.客户端通过特殊的文件系统协议和格式访问远程存储 Linux 中有两种主要协议可用访问网络文件系统 : NFS 和CIFS . NFS ( Network File System ) 可看作是 Linux .UNIX 及其它类似操作系统的标准文件系统. CIFS( Comon Inte

linux网络文件共享服务的实现

LINUX网络文件共享服务 linux网络文件共享服务的实现: 应用层:ftp 内核:nfs (Sun) 跨平台:samba 一.vsftp实现文件共享 1,  概念: vsftpd :very secure FTP daemon,高安全性的 FTP 服务器. ftp: File Transfer Protocol文件传输协议:属于应用层协议,使用TCP端口: 21/tcp. FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道. 控制通道:控制通道是和FTP服务器进行沟通的通道,连接FT

[CSAPP笔记][第十一章网络编程]

第十一章 网络编程 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真实的Web浏览器提供静态的和动态的文本和图形内容. 11.1 客户端 - 服务器编程模型 每个网络应用程序都是基于客户端 - 服务器模型的 采用这种模型,一个应用是由一个服务器进程 和一个或多个客户端进程组成. 服务器管理某种资源,并且通过操作这种资源为它的客户端提供某种服务. WEB服务器,代表客

基于网络文件共享服务的双机数据同步方法

前几年我开发过一个软件系统,为使用者提供7×24小时不间断的服务.为了确保服务质量,采用了双机热备的形式.双机系统能够正常工作的关键技术之一,就是主备机之间的数据同步.下面介绍的数据同步方法是以网络文件共享服务为基础实现的,简单易行,安全可靠,在当时时间紧.任务重.投资有限的情况下,应用效果比较理想. Windows网络文件共享服务 在Windows系统环境中,一台计算机可以作为服务器向局域网中的其它计算机(客户机)提供“文件共享服务”.通过这项服务,客户机用户能够像访问本地文件一样通过网络对服

企业级NFS网络文件共享服务

虚拟实验: 操作系统:CentOS release 6.8 (Final) 虚拟机:VMware 任务:NFS网络文件共享服务 默认是没有安装NFS软件包,NFS主要功能是通过网络让不同的主机系统之间可以共享文件或目录.NFS网络文件系统很像Windows系统的网络共享.安全功能.网络驱动映射,而互联网中小型网站集群架构后端常用NFS进行数据共享. NFS服务器IP: 192.168.222.130 NFS客户端IP1: 192.168.222.138 NFS客户端IP2:192.168.222