linux配置nfs步骤,第1张

NFS的配置过程很简单。在服务器端中编辑 /etc/exports 文件,添加如下内容: /home/nfs-share 1921681122 (rw,sync)

第一项是要共享的目录,后者为共享的配置参数一般为: (rw,sync,no_root_squash,no_all_squash,no_subtree_check)

然后开启NFS和portmap服务:

/etc/initd/nfs start //用service nfs start也可以 /etc/initd/portmap start //用service portmap stasrt也可以

在centos65中portmap已经改为rpcbind 在客户端,用mount –t nfs 192168123:/home/nfs-share /home/remote_file挂载服务器端的共享目录到本地的/home/remote-file挂载点,然后我们就可以在客户端上应用到远程主机上的/home/nfs-share目录了。想要系统在开机时自动挂载,修改/etc/fstab文件,把NFS服务器的共享目录添加进去就可以了,这个不用多说。

如何知道远程主机上的共享目录情况呢?使用showmount命令,这个命令需要root权限。它有三个选项(记住这三个选项代表的含义: showmount –a IP 显示指定NFS服务器的客户端以及服务器端在客户端的挂载点 showmount –d IP 显示指定NFS服务器在客户端的挂载点 showmount –e IP 显示指定NFS服务器上的共享目录列表(或者叫输出列表) 我们输入命令showmount –a 1921681123:

客户端中出现的mount clntudp_create: RPC: Program not registered错误是怎么回事?噢,我刚才重启了一下服务器端,重启后NFS服务没有开启。 我们开启服务器端的NFS服务,再从客户端上查看一下NFS服务器的情况:

Showmount –a显示出NFS服务器1921681123的共享目录被客户端192168122挂载到/home中;

在showmount -e IP,出现clnt_create: RPC: Port mapper failure - Timed out报错

解决方案:

被访问的NFS服务器上的防火墙没有添加规则,向iptables里面添加以下查看的所有端口即可(目前解决的方法,当然你也可以关闭防火墙,不过这样是比较不安全的,如果你的nfs作用不大,建议你另选别的应用来替代吧!毕竟开那么多的端口,比较不安全呀!)

通过#rpcinfo -p 1010209148

[root@rh01 /]# rpcinfo -p 1010209148program vers proto port service100000 4 tcp 111 portmapper100000 3 tcp 111 portmapper100000 2 tcp 111 portmapper100000 4 udp 111 portmapper100000 3 udp 111 portmapper100000 2 udp 111 portmapper100024 1 udp 52943 status100024 1 tcp 37706 status100011 1 udp 875 rquotad100011 2 udp 875 rquotad100011 1 tcp 875 rquotad100011 2 tcp 875 rquotad100003 2 tcp 2049 nfs100003 3 tcp 2049 nfs100003 4 tcp 2049 nfs100227 2 tcp 2049 nfs_acl100227 3 tcp 2049 nfs_acl100003 2 udp 2049 nfs100003 3 udp 2049 nfs100003 4 udp 2049 nfs100227 2 udp 2049 nfs_acl100227 3 udp 2049 nfs_acl100021 1 udp 37438 nlockmgr100021 3 udp 37438 nlockmgr100021 4 udp 37438 nlockmgr100021 1 tcp 46331 nlockmgr100021 3 tcp 46331 nlockmgr100021 4 tcp 46331 nlockmgr100005 1 udp 57177 mountd100005 1 tcp 43147 mountd100005 2 udp 49154 mountd100005 2 tcp 54810 mountd100005 3 udp 55707 mountd100005 3 tcp 58309 mountd

[root@rh01 /]#

刚才在重启NFS服务的时候,细心的话可以注意到,我们在输入命令/etc/initd/nfs start开启nfs服务时,系统还自作主张地开启了NFS quotas等其它3个服务。

怎么回事?我们只输入了一条启动NFS服务的命令,它怎么额外的启动了3个服务?后面的启动portmap服务又是怎么回事? 我们首先要了解一点:NFS文件系统要提供服务单靠本身的NFS服务是不够的,还需要调用其它服务,这个其它服务就是RPC(remote procedure call,远程过程调用)服务和portmap服务。由于NFS服务本身不提供文件传输功能,我们要远程使用NFS文件系统就需要RPC服务的支持;而portmap服务用来为RPC服务进行动态端口分配和映射,所以portmap服务也是NFS服务所必须的。

我们查看一下服务的启动情况:

所遇错误:

/etc/initd/nfs-kernel-server: 没有那个文件或目录

解决方案:

没有配置、安装NFS

Linux 下配置NFS服务

1、安装

2、配置

3、客户端

所遇问题:centos65

portmap: 未被识别的服务

解决方案:

由于在6系列里面,portmap已经改名了 ,6系列需要使用 service rpcbind start启动[root@unix-big-bang ~]# service portmap start

portmap: 未被识别的服务

[root@unix-big-bang ~]# service rpcbind status

rpcbind (pid 1312) is running

[root@unix-big-bang ~]#

好文共赏:

linux nfs文件共享

◆一、概念

NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统。

NFS由SUN公司开发,目前已成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同 操作系统 的计算机可以共享数据,所以也可以看作是一个文件服务器。NFS是除了SAMBA之外Windows与Linux及Unix与Linux之间通信的方法。

理想条件下的NFS 网络拓扑结构

1、设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务);

2、NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享;

3、NFS为C/S 架构 ;

◆二、服务器配置

1、配置文件

主要配置文件为:/etc/exports

格式为: 共享目录 可mount主机IP(参数1,参数2,……)

如:/var/nfs 17220 (rw,sync,no_rootl_squash)

说明:必须注意nfs/目录的访问权限,必须设置成777权限;父目录/var权限无要求,普通的755即可;

2、启动相关服务

然后依次启动相关服务:portmap,nfslock,nfs

service portmap start

service nfslock start

service nfs start

关闭顺序相反。

3、检查共享目录

随后可以采用showmount –e查看一下,看看共享的目录情况:

[root@ns var]# showmount -e

Export list for nsosserver:

/var/nfs 17220

OK,到此为止,NFS服务器搭建完毕;

◆三、客户端配置

1、确保portmap运行

客户端必须确保RPC协议相应的portmap正常运行,否则mount将失败;

2、挂载/var/nfs目录(本地挂载点为/mnt/nfs)

mount -t nfs 172206516:/var/nfs /mnt/nfs

成功mount以后,即可同本地目录一样随意操作;

◆四、其它相关命令

1、当修改了/etc/exports文件后,可以不用重新启动nfs服务,直接采用exports –rv 即可重新导出共享目录;

该命令格式如下:

exportfs [-aruv]

-a :全部mount或者unmount /etc/exports中的内容

-r :重新mount /etc/exports中分享出来的目录

-u :umount 目录

-v :在 export 的时候,将详细的信息输出到屏幕上。

具体例子:

[root@ns var]# showmount -e

Export list for nsosserver:

/var/nfs 17220

[root@ns var]# exportfs –au #全部卸载

[root@ns var]# showmount -e

Export list for nsosserver:

[root@ns var]# exportfs –rv #全部重新 export 一次

exporting 17220 :/var/nfs

[root@ns var]#

2、showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法

showmout

-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。

-e :显示指定的NFS SERVER上export出来的目录。

例如:

[root@localhost ~]# showmount -e 1722016139

Export list for 1722016139 :/root/share 1722016137

[root@ns var]# showmount -a

All mount points on localhostlocaldomain: :/root/share,17220 :/root/share,1722016 :/root/share,1722016139:/nfsshare,1722016139:/root/share1722016137: 1722016137:,17220 1722016137:,1722016 1722016137:/root/share1722016139: 1722016139:,17220 1722016139:,1722016 1722016139:,17220161391722016139:DEFAULT

◆五、常见问题解答

1、提示:mount to NFS server '1722067203' failed: server is down

解决方案:可能是NFS服务器的防火墙有问题;

2、提示:mount: RPC: Timed out

解决方案:由于RPC协议没运行;启动portmap服务;

也有可能是防火墙问题;Server/Client均有可能。

ubuntu 是LINUX的一个实现版本。

理论上LINUX可以做电脑能做的所有事情,但是你也看见了,LINUX下的应用软件是有限的,主要是服务器和一般家庭使用,上网、看片、听音乐、聊QQ这些功能都有,有的软件只有LINUX版,有的软件是先有LINUX版再有WINDOWS版,但肯定有许多WINDOWS软件还没有LINUX版发现,特别是游戏。

1、安装有关Samba的RPM包(samba、samba-common、samba-client)

2、创建Samba用户

3、修改配置文件

4、重启samba服务

5、设置目录访问权限

6、测试

具体步骤如下:

1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)

[root@localhost ~]#rpm -qa | grep samba

samba -----samba服务器程序的所有文件

samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件

samba-client -----提供了Samba客户机的所有文件

samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能

2、创建samba用户

[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用

[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)

3、修改配置文件

samba配置文件的位置:/etc/samba/smbconf

[root@localhost ~]#vim /etc/samba/smbconf

Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。

1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。

2、share -----客户端连接服务器时不需要输入用户名和密码

3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。

4、domain -----采用域控制器对用户进行身份验证

5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器

共享目录的配置

[homes] -----samba用户的宿主目录

comment = Home Directories -----设置共享的说明信息

browseable = no -----目录浏览权限

writable = yes -----用户对共享目录可写

这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。

以下是共享打印机的设置:

[printers] -----共享打印机

comment = All Printers -----设置共享的说明信息

path = /var/spool/samba -----指定共享目录的路径

browseable = no -----目录浏览权限

guest ok = no -----允许来宾访问

writable = no -----用户对共享目录可写

printable = yes -----可以打印

以上是系统默认设置

添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)

[ASUS]

comment = user1 Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /ASUS -----指定共享目录的路径

[public]

comment = all user Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /public -----指定共享目录的路径

guest ok = yes -----允许来宾访问

4、修改完配置文件后需要重启samba服务

[root@localhost ~]#service smb restart

Samba服务器包括两个服务程序

2 smbd

smbd服务程序为客户机提供了服务器中共享资源的访问

2 nmbd

nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析

5、设置目录权限

[root@localhost ~]#mkdir /ASUS ------创建要共享目录

[root@localhost ~]#mkdir /public ------创建要共享的目录

[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有

所有权,属组只读,其它用户不能访问)

[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1

[root@localhost ~]#groupadd ASUS ------添加ASUS组

[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组

[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组

[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为

ASUS

[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制

权限

配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件

记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无

法访问Linux服务器上的共享资源

6、测试

找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击

“搜索”

如图所示:已经搜索到

双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码

作测试。

登录成功,

打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一

下,如图所示:可以创建

Public目录是允许任何用户上传、下载及删除文件,如图所示

User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作

切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚

计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del ”是清

除计算机上缓存

重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录

以下几幅可以看到,user2对ASUS目录拥有只读权限,对public、user2目

录拥有所有权

再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码

如图所示:user3无法访问ASUS目录

User3只对user3和public目录拥有所有权

使用umask命令可以设置创建新文件时的默认权限。

语法:umask [选项] [权限掩码]

参数说明:-S 以字符的方式来表示权限掩码

示例:设置文件的权限掩码,使新建文件自动生成默认权限为rw-rw----

说明:rw-rw----对应的数字就是660 ,在Linux系统中,读权限(read,r)的值是4,写权限(write,w)的值是2,执行权限(execute,x)的值是1,没有授权的值是0 ,所以rw-rw----的数字权限值就是660。因为是建立新的文件,Linux默认不允许用户建立的文件具备可执行权限,所以文件的最大值权限值是666,umask值实际上是计算的最大权限值的补码,所以此时umask值是666-660=006

所以,要依次执行如下命令:

linux@server:~$ umask 006

linux@server:~$ touch abc

linux@server:~$ ll abc

-rw-rw---- 1 linux linux 0 2010-12-11 21:44 abc

扩展:两个比较特殊的权限掩码

umask 777 #创建文件会没有任何权限,他和chmod是相反的。

umask 000 #具有所有权限。但文件没有x权限。

复制粘贴,原网址:http://zhidaobaiducom/linkurl=NaYFAsL_M2L3kGdk6egtg-GT8dTuGM3PesqGktcrybvLUYWr7MXhvuOcdA5P-_77i73u-OsfDaScCI2zTqGe9_

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux配置nfs步骤

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情