nsf与samba基本应用

<一>、nfs


RPC:RemoteProcedure Call protocol,即远程过程调用协议

调用远程主机上的函数

一部分功能由本地程序完成,另一部分功能由远程主机上的函数完成

远程过程调用示意图

半结构化数据

XML:eXtended MarkLanguage,扩展标记语言,重量级;

JSON:轻量级;

RESTful:基于http的RPC;

NFS:Network File System,即网络文件系统

依赖于RPC实现其功能

是一种跨主机实现网络存储功能的文件共享服务器方案

NFS结构示意图

设想情景一:

某文件(a)在客户端以fedora(id=785)身份创建,则文件的属主和属组为fedora,存储至远程NFS服务器;

1、NFS服务器上无id=785,则a文件的属主和属组无对应用户,客户端用户权限映射为服务端的nobody用户权限;

2、NFS服务器上恰好有id=785,对应的用户是hadoop,则客户端用户权限映射为服务端hadoop用户的权限;

设想情景二:

以root身份在客户端创建某文件(b),存储至远程NFS服务器,则b文件的属主、属组id=0;而NFS服务器的root用户id也=0,从而客户端用户权限映射为服务端管理员的权限;

NIS:Network Information Service,即网络信息系统

身份认证不在本地完成,而是集中于指定服务器

NFS: 基于IP的认证

RPC:

NFS:2049/tcp, 2049/udp

RPC服务:portmapper

rpcinfo:report RPC information

nfs服务器:

nfsd, mountd, idmapd

查看NFS服务器端共享的文件系统:

showmount-e NFSSERVER_IP

挂载NFS文件系统:

mount-t nfs SERVER:/path/to/sharedfs /path/to/mount_point

/etc/exports:

文件系统        客户端(选项) 客户端(选项)

客户端:IP、FQDN或DOMAIN、NETWORK

exportfs:维护exports文件导出的文件系统表的专用工具:

export-ar: 重新导出所有的文件系统

export-au: 关闭导出的所有文件系统

export-u FS: 关闭指定的导出的文件系统

开机自动挂载nfs:

/etc/fstab

SERVER:/PATH/TO/EXPORTED_FS/mount_point         nfs        defaults,_netdev        0 0

补充材料:

/etc/exports 文件中的项的格式相当简单。要共享一个文件系统,只需要编辑/etc/exports 并使用下面的格式给出这个文件系统(和选项)即可:

directory (or file system)   client1(option1, option2) client2(option1,option2)

常用选项

有几个常用的选项可以对 NFS 实现进行定制。这些选项包括:

secure: 这个选项是缺省选项,它使用了 1024 以下的 TCP/IP 端口实现 NFS 的连接。指定 insecure 可以禁用这个选项。

rw: 这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的。

async: 这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,这也可能会造成数据丢失。

no_wdelay: 这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。

nohide: 如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来或看起来像空的一样。要禁用这种行为,需启用 hide 选项。

no_subtree_check: 这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。缺省选项是启用子树检查。

no_auth_nlm: 这个选项也可以作为 insecure_locks 指定,它告诉 NFS守护进程不要对加锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm 或 secure_locks。

mp (mountpoint=path): 通过显式地声明这个选项,NFS 要求挂载所导出的目录。

fsid=num: 这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS的故障恢复,请参考 NFS 文档。

用户映射

通过 NFS 中的用户映射,可以将伪或实际用户和组的标识赋给一个正在对 NFS卷进行操作的用户。这个 NFS 用户具有映射所允许的用户和组的许可权限。对 NFS卷使用一个通用的用户/组可以提供一定的安全性和灵活性,而不会带来很多管理负荷。

在使用 NFS挂载的文件系统上的文件时,用户的访问通常都会受到限制,这就是说用户都是以匿名用户的身份来对文件进行访问的,这些用户缺省情况下对这些文件只有只读权限。这种行为对于root 用户来说尤其重要。然而,实际上的确存在这种情况:希望用户以 root 用户或所定义的其他用户的身份访问远程文件系统上的文件。NFS允许指定访问远程文件的用户——通过用户标识号(UID)和组标识号(GID),可以禁用正常的 squash 行为。

用户映射的选项包括:

root_squash: 这个选项不允许 root 用户访问挂载上来的 NFS 卷。

no_root_squash: 这个选项允许 root 用户访问挂载上来的 NFS 卷。

all_squash: 这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,只使用匿名用户。缺省设置是no_all_squash。

anonuid 和 anongid: 这两个选项将匿名 UID 和 GID修改成特定用户和组帐号。

客户端挂载时可以使用的特殊选项:

Client

Mountingremote directories

Beforemounting remote directories 2 daemons should be be started first:

rpcbind

rpc.statd

rsize 是从服务器读取的字节数。wsize是写入到服务器的字节数。默认都是1024, 如果使用比较高的值,如8192,可以提高传输速度。

Thetimeo value is the amount of time, in tenths of a second, to wait beforeresending a transmission after an RPC timeout. After the first timeout, thetimeout value is doubled for each retry for a maximum of 60 seconds or until amajor timeout occurs. If connecting to a slow server or over a busy network,better performance can be achieved by increasing this timeout value.

Theintr option allows signals to interrupt the file operation if a major timeoutoccurs for a hard-mounted share.

总结:

1、客户端表示方式

2、导出选项:

rw,async, sync, root_squash, no_root_squash, all_squash, anonuid, anongid

3、exportfs和showmount

<二>、samba


samba基础:

smb:
Service Message Block

CIFS:
Common Internet File System

监听端口:137/udp,
138/udp, 139/tcp, 445/tcp

NetBIOS:
Windows基于于主机实现互相通信的机制;

15个字符

samba服务启用的进程

nmbd:
netbios

smbd:
cifs

winbindd:

UNC路径:\\SERVER\shared_name

samba的两种访问方式

交互式数据访问:

#
smbclient -L HOST -U USERNAME

获取到共享信息之后,

#
smbclint //SERVER/shared_name -U USERNAME

基于挂载的方式访问:

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

常用命令和文件

服务器:

# yum
-y install samba

服务脚本:

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

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

主配置文件:

/etc/samba/smb.conf

samba用户:

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

密码:samba服务自有密码文件,

将系统用户添加为samba的命令:smbpasswd

smbpasswd:

-a Sys_User: 添加系统用户为samba用户

-d :禁用

-e: 启用

-x: 删除

配置文件:

smb.conf

全局设定

特定共享的设定

私有家目录

打印机共享

自定义共享

自定义共享:

[shared_name]

path =
/path/to/share_directory

comment
= Comment String

guest
ok = {yes|no}

public
= {yes|no}

writable
= {yes|no}

read
only = {yes|no}

write
list = +GROUP_NAME

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

#
testparm

时间: 05-04

nsf与samba基本应用的相关文章

samba共享目录构建wordpress与mysql

项目一 (1) 使用samba共享/data/application/web,在目录中提供wordpress; (2) 使用samba客户端挂载samba server共享的目录至/var/www/html: (3) 客户端(lamp),部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载samba server共享的目录至/var/www/html:验正其wordpress是否可被访   问:要确保能正常发文章,上传图片: samba服务器

samba详解

samba: smb:Service Message Block CIFS:Common Internet File System smb -> samba udp:137/138 tcp:137/445 与windows基于NetBIOS实现互相通信的机制:15个字符 samba有三种:nmbd(netbios);smbd(cifs);winbindd #yum list all samba* 当client的话安装smbclient,交互式数据范文 #smbclient -L 172.16.

Ubuntu 安装Samba服务器

1.安装 sudo apt-get update sudo apt-get install samba (如果出现库依赖问题可用命令sudo apt-get install samba libwbclient0=2:3.6.3-2ubuntu2  安装) 2.配置 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak sudo gedit /etc/samba/smb.conf 在末尾添加 [username] comment = usernam

SAMBA服务

目    录 一.SAMBA服务介绍 1.SAMBA的功能 2.计算机网络管理模式 3.相关包 4.相关服务进程 5.主配置文件 6.语法检查 7.客户端工具 二.SAMBA服务配置 1.全局配置 2.特定的共享设置 3.宏定义 三.管理samba用户 四.配置目录共享 五.基于特定用户和组的共享 六.SMB客户端访问 七.挂载CIFS文件系统 1.手动挂载 2.开机自动挂载 SMB:server message block 服务器消息块,IBM发布,最早DOS网络文件共享协议. Cifs: c

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配置匿名访问

CentOS6中直接设置全局配置段 security = share 或者是在全局配置段添加 map to guest = bad user CentOS7中由于security = share已经被废弃需要全局配置段中添加 map to guest = bad user 配置文件详细配置段: #======================= Global Settings ===================================== workgroup = WORKGROUP s

如何部署Samba服务

一.samba存在的意义 有时为了方便windows与linux虚拟机之间的文件共享,我们一般用SAMBA服务来解决,有人会问,VMTool不是可以直接设置share folder吗?但是用到比较大的工程时复制来复制去的耗时很多或者我们想偷懒直接就在共享目录编译而不影响(要知道windows和linux的文件系统是不同的),samba是非常适合的解决方法. 二.安装并启动samba服务 1)使用yum来安装Samba yum -y install samba* 2)启动并检查服务是否启动 ser

Linux与云计算——第二阶段 第十章:Samba服务器架设—SMB共享目录及多用户SMB挂载

Linux与云计算--第二阶段Linux服务器架设 第十章:Samba服务器架设-SMB共享目录及多用户SMB挂载 通过SMB共享目录 在Server上配置SMB服务 您的SMB服务器必须是STAFF工作组的一个成员 共享/common目录 共享名必须为common 只有example.com域内的客户端可以访问common共享 common必须是可以浏览的 用户andy必须能够读取共享中的内容,如果需要的话,验证密码是redhat [1] 安装配置Samba. [[email protecte

Centos中samba精简安装与使用

samba的功能是非常强大的,但是CleverCode在实际的工作中发现,CleverCode使用的功能比较少.最主要的使用是将Linux机器中/home/CleverCode目录,在windows下能够访问.所以一般CleverCode只简单安装,然后将/home/CleverCode目录共享到windows的某个盘. 1 简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是