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
下一篇 2016-10-23

相关推荐

  • 超文本传输协议-HTTP

        超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。     设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或…

    Linux干货 2017-07-31
  • 文件管理类命令常用使用方法及其相关示例演示

    文件管理类命令常用使用方法及其相关示例演示 cat chattr chmod chown cp ln locate lsattr mv rm tee touch umask whereis which 文件管理类命令常用使用方法及其相关示例演示 cat 使用语法:cat [-AbeEnstTuv][–help][–version] FILENAME&nb…

    Linux干货 2016-11-05
  • SHELL脚本编程之变量的种类

    变量 在进行脚本编程的时候,经常会使用到不同类型的变量,根据变量的生效范围,可大致分为以下的几类: 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程,包括当前shell进程的子shell进程都是无效的,它的作用域就是当前shell进程 环境变量:生效范围是当前shell进程及其子进程 局部变量:生效范围是当前shell进程中某…

    Linux干货 2016-08-12
  • CentOS下搭建LAMP

    实验:centos7.3实现lamp应用wordpress环境 host1 httpd,php  host2 mariadb1 yum install httpd php php-mysqlyum install mariadb-serversystemctl start httpdsystemctl start mariadb 2 创建数据库及用户mysq…

    2017-10-16
  • CollabNetSubversionEdge服务搭建

    准备目录并设置权限 [root@localhost ~]# mkdir /var/svn [root@localhost ~]# chown bohui:bohui /var/svn/ [root@localhost ~]# chmod 700 /v…

    Linux干货 2015-10-18
  • httpd服务归纳:httpd简介与基本安装

    一、httpd 简介  1. httpd 历史: httpd daemon 最早诞生于1995年二月, 伊利诺伊大学香槟分校的美国国家超级计算应用中心(NCSA),由Rob McCool开发。当这个项目完成后,Rob 老兄离开RCSA以后,这个项目组就解散了,这个项目也随之终止。 但是,由Brian Behlendorf 和 Cliff …

    Linux干货 2015-05-07