设为首页 收藏本站
查看: 369|回复: 0

[经验分享] nsf与samba基本应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-7 08:34:36 | 显示全部楼层 |阅读模式
<一>、nfs

RPC:RemoteProcedure Call protocol,即远程过程调用协议
调用远程主机上的函数
一部分功能由本地程序完成,另一部分功能由远程主机上的函数完成

远程过程调用示意图
wKiom1VJ4oyyZcKoAAFtPKQ-GSI991.jpg

半结构化数据
XML:eXtended MarkLanguage,扩展标记语言,重量级;
JSON:轻量级;
RESTful:基于http的RPC;

NFS:Network File System,即网络文件系统
依赖于RPC实现其功能
是一种跨主机实现网络存储功能的文件共享服务器方案

NFS结构示意图
wKioL1VJ5AyjGjY0AACfeF5hW9o646.jpg

设想情景一:
某文件(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
guestok = {yes|no}
public= {yes|no}
writable= {yes|no}
readonly = {yes|no}
writelist = +GROUP_NAME

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-64424-1-1.html 上篇帖子: netfilter基础及iptables基本应用 下篇帖子: iptables与netfilter基础与示例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表