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

相关推荐

  • 命令read

    read命令是一个bash命令,它用于从键盘或标准输入中读取文本.我们可以使用read以交互的形式读取来自用户的输入.并且read还提供一种不需要按回车就能够输入参数的方法. read可以从标准输入中读取单独的一行,或者使用-u选项,从文件描述符FD中读取.并且这单独的行被分隔成多个域,第一个词被赋值给第一个变量,第一个赋值给第二个变量,以此类推,直到剩下的…

    Linux干货 2016-08-12
  • Linux运维之进程管理

    一、进程概念 进程是内核的一个功能,在Linux中,运行一个程序或命令可以出发一个事件而驱动一个PID,在linux系统中,系统只识别二进制程序文件,我们可以通过执行系统上的二进制程序来运行程序,进而产生进程。在linux系统中第一个进程是init程序,它是系统开机第一个加载的程序,用来支撑系统的正常运行的一个程序,内核启动的一个用户级进程。   …

    Linux干货 2016-09-09
  • 正则表达与扩展正则表达

    说到正则表达式那就不得不说grep命令: 1.grep命令的作用:grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式 2.命令格式 :grep [options] 3.主要参数: gre…

    2017-08-07
  • CentOS7.3系统上编译安装httpd.2.4.25

    本文所做的所有操作是在一部新安装的CentOS7.3系统上。 1.环境与配置 环境说明:VMware上安装的CentOS7.3系统,7.3完整版光盘做成的yum源 配置:编译生成的所有的文件都存放在/usr/local/httpd24/这个目录下 2.安装GCC编译器 #安装Development tools这个软件包组 [root@pxe68 ~]# yu…

    2017-04-20
  • Linux系统的文件管理命令及bash的相关工作特性

    熟悉Linux系统的文件管理命令,了解bash的工作特性,加强练习并掌握其内容。

    2017-09-30