nfs与samba实现文件共享服务的流程

nfs与samba实现文件共享服务的流程

    nfs与samba都是能够实现文件共享的服务应用,其用法大致相同,但是挂载选项与配置文件的设置机制不同,下面介绍这两种文件共享服务的内容。

    一.nfs服务的安装与配置

    服务端主机的配置:

    1.安装nfs服务:yum -y install nfs.utils;

    2.nfs的配置文件:/etc/exports;/etc/export.d/*。nfs的配置文件只需要添加能够挂载nfs服务器目录的主机条目即可,非常简单,比如:

        /mysql/data    10.1.0.0/16(rw)  这就表示允许10.1.0.0(16)网段内的主机通过/mysql/data目录的挂载使用服务端nfs的应用。

    3.创建nfs配置文件的目录,设置目录权限为客户端应用权限,比如需要实现共享mysql数据,就将目录属主属组设置为mysql:mysql,注意这里不能使用root用户,由于nfs服务拥有一种保护机制,跨主机使用nfs服务时,root用户没有执行与写入权限。必须是客户端执行进程的属主uid与服务端nfs文件夹属主uid相同才可以拥有rwx权限。

    4.启用nfs服务:service nfs restart;

    客户端主机的配置:

    1.这里使用mysql应用举例,安装mysql或者mariadb,创建一个数据库。

    2.修改mysql的主配置文件/etc/my.cnf,修改其中的datadir=/mydata,这里的/mydata是随便创建的一个新的空闲目录,这样的话就将mysql的数据文件都存放在/mydata中了。

    3.mount -t nfs 10.1.252.232:/mysql/data /mydata;将服务端主机的/mysql/data目录挂载至客户端主机的/mydata目录下,并重启mysql服务;service mysql restart;

    完成上述配置之后,就可以启用nfs服务了,可以看到客户机的/mydata与/服务机的/mysql/data目录下存放着的是客户机的mysql数据,并且只有服务端有权限修改目录文件。

    二.samba服务的安装与配置

    服务端主机的配置:

    1.安装samba服务:yum install samba;

    2.编辑samba的主配置文件/etc/samba/smb.conf;在Share Definitions条目下添加一个新的共享服务,比如这样:

        [dafeige]

comment =dafeigewenjian

path = /data/application/web

browseable = yes

guest ok =yes

writable =yes 

    这里定义了名为dafeige的共享ID,comment表示描述,path定义了dafeige所指向的路径,browseable表示是否可供用户浏览,guest ok表示是否允许来宾访问,writable表示是否支持写入操作。

    3.使用smbpasswd或者pdbedit命令创建samba用户和密码:

    smbpasswd [options] username;其中option中包括:-a 增加用户;-x 删除用户;-d 禁用用户;-e 启用用户;举例说明:smbpasswd -a xiaofei;执行之后提示设置密码;这时就成功添加了一个samba用户。

    4.service smb start;service nmb start;启用samba服务。

    客户端主机的配置

    客户段应用samba有两种方式:

    第一种:使用smbclient命令。这个命令可以实现客户端交互式访问服务端的samba服务目录,前提是服务端需要提供一个samba用户并让客户知晓;比如使用上述的xiaofei,密码为123.可以这样进行交互式访问:smbclient //10.1.252.232/dafeige -U xiaofei;输入密码123之后,却无法对目录进行cp等写入删除操作。

    为社么呢?实际上是由于没有对目录的执行权限所导致的,与nfs服务一样,如果想要对服务端主机执行写入操作,客户端主机用户的uid必须与服务端目录属主uid相同,这里使用root用户同样不可以。这时需要对服务端目录的属主以及权限进行修改,所以对服务端主机执行:chown -R xiaofei:xiaofei /data/application/web;重新登录,就可以对目录执行写入操作了。

    第二种:挂载目录的方式。这种方式与nfs的挂载方式性质一样,将服务端的目录挂载至客户端的目录下,实现文件存放在服务端上共享的目的。不同的是挂载方式有所不同,举例说明:

    mount -t cifs //10.1.252.232/dafeige /mydata;这里是使用samba服务的挂载方式。对比一下nfs的挂载方式:

    mount -t nfs 10.1.252.232:/data/application/web /mydata;可以看出nfs挂载直接指向服务端的目录,而samba挂载在share_ID dafeige定义的path路径下,格式也有所不同。

    如此配置完毕后,检查端口是否启用正常,就分别可以使用这两种文件共享服务惹!

原创文章,作者:mcgeewang,如若转载,请注明出处:http://www.178linux.com/53775

赞 (1)
mcgeewangmcgeewang
上一篇 2016-10-23 21:56
下一篇 2016-10-23 22:08

相关推荐

  • 来马哥教育后

    来北京三天了,说实话,我长了不少见识,甚至可以说是见过了以前一些从没想到过的事情,我拼了命往大城市来,如今如我所愿了,我来的时候发誓对自己说:我要留在北京,我也要积累足够的资本让自己真正成为大城市的上层社会人士,现在吃多少苦我都无所谓。 我以前在建筑工地的时候想:我将来能学IT是最幸福的事了。当时真是这么想的,等我真到马哥教育,我发现,我把问题想的太简单,就…

    Linux干货 2018-03-26
  • Bash的基础特性之命令执行状态返回值和命令行展开

    Bash的基础特性之命令的执行状态 Linux的命令执行结果状态有两种,分别为:1、成功2、失败bash使用特殊变量 $? 保存最近一条命令的执行状态结果使用echo $? 命令来查看命令执行状态返回值:0:成功1-255:失败 示例:         [root@localho…

    Linux干货 2016-11-04
  • 文件系统挂载

    挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为 卸载: 为解除此关联关系的过程 把设备关联挂载点:mount Point mount 卸载时:可使用设备,也可以使用挂载点 umount mount   umount命令都是临时生效,机器重启后失效 挂载点下原有文件在挂载完成…

    Linux干货 2017-04-30
  • MySQL常用命令

    本文大纲 MySQL命令             (0%) 交互式CLI工具     服务端命令 mysqld服务器程序 数据类型 DDL语句                 &n…

    Linux干货 2017-02-16
  • Vim编辑器使用详解

    Vim编辑器使用详解 vim介绍 为什么要学习vim vim三种模式 vim工作模式(图解) vim如何打开文件 vim关闭文件 命令模式光标跳转 字符间跳转: 单词间跳转: 行首行尾跳转: 行间移动: VIM的命令模式下的命令: 字符编辑: 替换命令(r, replace) 删除命令: 复制命令 粘贴命令(p, paste): : 其他相关的编辑操作: 翻…

    Linux干货 2016-09-06
  • 了解Nginx

    Nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝…

    Linux干货 2016-11-07