Linux1 NFS服务的主配置文件
Linux1——NFS的文件存取权限
Linux1——NFS的文件存取权限用户在使用NFS客户端上的某一用户身份(如yl)去存取/nfs/share这个来自NFS服务器上的文件系统时,会存在一个身份认证问题,即NFS服务器会允许用户以yl去存取文件系统还是其它身份。
由于NFS本身并没有身份认证机制,所有当用户在客户端以某一身份(如yl)来存取服务器端的文件系统时,服务器会以客户端用户的UID与GID等身份来尝试读取服务器端的文件系统,而在此存在一个客户端与服务器端的用户身份不一致的问题,因此了解NFS文件存取权限十分必要,如图3-10所示为NFS服务器与客户端的用户身份确认示意图。
其中,UID是用户身份证明(User Identification)的缩写。
在NFS中,UID是文件所有者的用户ID,是一个32位无符号整数;GID是所有组的组ID,是一个32位的整数,GID 0是给名为“root”的组保留的。
NFS客户端图3-10 NFS服务器与客户端的用户身份确认示意图当用户以yl这个一般用户身份去存取来自服务器端的文件系统时,一般情况下,Linux主机会主动以自己的/etc/passwd、/etc/group来对比查询对于的用户名及组名。
所有当yl进入到该目录后,会对比NFS客户端的用户名与组名。
但由于该目录的文件来自NFS服务器,因此可能包括以下一些情况:1.有相同的账号与组如果NFS服务器与NFS客户端刚好存在相同的账号与组,那么此时用户可以直接以yl的身份对服务器所提供的文件系统进行存取。
2.UID相同但用户名不同如果NFS服务器上的/etc/passwd配置文件中UID 501的使用者名称为yy时,则客户端的yl可以存取服务器端的yy这个使用者的文件系统。
这是因为2者具有相同的UID。
但这同时也带来了很大的安全问题了。
因为没有人可以保证客户端的UID所对应的账号会与服务器端相同,那么非法的使用者就可能会对服务器端所提供的数据进行修改,从而带来安全隐患。
Linux1 启动和停止NFS服务
Linux1 启动和停止NFS服务配置文件完成后,就可以启动NFS服务,以使NFS服务器正常工作。
由于启动NFS服务还需要portmap的协助,因此在启动NFS服务之前必须先启动portmap 服务。
1.启动NFS服务用户可以在终端中,先输入“/etc/init.d/portmap start”命令,按【回车】键,以启动portmap服务。
然后,在输入“/etc/init.d/nfs start”命令来启动NFS服务,如图3-14所示。
图3-14 启动NFS服务另外,用户也可以在终端中,先输入“service portmap start”命令,按【回车】键,以启动portmap服务。
然后,输入“service nfs start”命令,并按【回车】键,以启动NFS服务,如图3-15所示。
图3-15 启动NFS服务2.停止NFS服务与启动NFS服务相反,在停止NFS服务之前,需要首先停止NFS服务再停止portmap服务。
如果系统中还有其它服务(如NIS服务),由于NIS服务需要使用portmap服务,因此此时不能够停止portmap服务。
用户可以在终端中,输入“/etc/init.d/nfs stop”命令,以停止NFS服务。
如果需要再输入“/etc/init.d/portmap stop”命令,以停止portmap服务,如图3-16所示。
图3-16 停止NFS服务同样,用户可以在终端中,输入“service nfs stop”命令,以停止NFS服务。
然后,在输入“service portmap stop”命令,以停止portmap服务,如图3-17所示。
图3-17 停止NFS服务3.重新启动NFS服务每次修改配置文件后,都需要重新启动NFS服务使配置生效。
在重新启动NFS 服务使,只需要使用“/etc/init.d/nfs restart”命令即可,如图3-18所示。
图3-18 重新启动NFS服务4.自动启动NFS服务对于实际应用中的Linux系统,每次开机后都需要手动启动NFS服务时很繁琐的一项工作,因此,应该设置系统在指定的运行级别(通常为3和5)自动启动portmap 服务和NFS服务。
Red Hat Linux操作系统中如何建立共享目录?
一、NFS(Network File System)的基本概念和安装1、概述NFS不仅是一种网络协议,也是一个文件系统类型和网络服务NFS是系统间进行文件共享的一种网络协议,它与http和ftp协议不同,不需要把文件从服务器下载到本地来访问在NFS的应用结构中有服务器和客户机两种角色NFS客户端通过挂载NFS文件系统的方式访问NFS服务器中输出的共享目录在同一台主机中即可以是NFS服务器也可以作为NFS客户机NFS网络共享的一般用法在NFS服务器主机中进行设置安装NFS服务器软件包启动NFS服务器程序设置NFS共享目录输出在NFS客户机中进行设置使用mount命令挂载NFS服务器中的NFS共享目录到文件系统中通过NFS文件系统的挂载点目录访问NFS服务器中的共享内容2、NFS服务器的安装portmap软件包提供了运行portmap服务所需的文件。
portmap服务为NFS等服务器程序提供RPC(远程过程调用)服务的支持nfs-utils软件包提供了NFS服务器的启动脚本和管理维护工具软件包安装“nfs-utils”和“portmap”两个软件包在RHEL4系统中是默认安装的(在第二张光盘中)查看是否安装#rpm -q nfs-utils portmap二、NFS服务器的配置1、NFS服务器的配置文件“exports”文件用于配置NFS服务器中输出的共享目录# cat /etc/exports (文件中的内容默认为空)文件格式/home/share *(sync,ro) /home/share--nfs共享目录名,*客户端主机地址*表示所有主机,(sync,ro)设置选项字段说明nfs共享目录名需要进行输出的NFS共享目录名称(用绝对路径)客户端主机地址能够访问共享目录的主机地址设置选项设置共享目录的属性1)nfs共享目录名需要进行输出的NFS共享目录名称(用绝对路径)2)客户端主机地址”字段可以使用多种形式表示主机地址实例说明192.168.152.13 指定IP地址的主机 指定域名的主机192.168.1.0/24 指定网段中的所有主机* 指定域下的所有主机* 所有主机3)设置选项exports文件中的“配置选项”字段放置在括号对(“( )”)中,多个选项间用逗号分隔sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS 共享目录都使用该选项ro:设置输出的共享目录只读,与rw不能共同使用rw:设置输出的共享目录可读写,与ro不能共同使用exports文件配置实例配置NFS服务器输出的共享目录输出“/home/share”目录,对所有主机可读,对地址为192.168.1.19的主机可读可写输出“/home/pub”目录,对192.168.152.0子网内的所有主机可读# cat /etc/exports/home/share *(sync,ro) 192.168.1.19(sync,rw)/home/pub 192.168.152.0/24(sync,ro)2、NFS服务器的启动与停止查询服务器的状态为了保证NFS服务器能够正常工作,系统中需要运行portmap和nfs两个服务程序# service portmap status# service nfs status启动服务器# service portmap start# service nfs start停止服务器运行# service nfs stop(通常只停止nfs服务,不需要停止portmap服务,因为portmap 支持系统中包括nfs在内的多个服务,如果停止可能影响其他服务)4)设置服务器的开机启动状态nfs服务要保证系统开机自动运行3、5级别查看chkconfig --list portmap或nfs设置chkconfig --level 35 portmap或nfs on3、showmount命令1)showmount命令的帮助信息showmount命令用于查询显示NFS服务器的相关信息# showmount --helpUsage: showmount [-adehv][--all] [--directories] [--exports][--no-headers] [--help] [--version] [host]2)显示主机的NFS服务器信息显示当前主机中NFS服务器的连接信息# showmount显示指定主机中NFS服务器的连接信息# showmount 192.168.152.1313)显示NFS服务器的输出目录列表显示当前主机中NFS服务器的输出列表# showmount -e显示指定NFS服务器中的共享目录列表# showmount -e 192.168.152.1314)显示NFS服务器中被挂载的共享目录显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录# showmount -d5)显示NFS服务器的客户机与被挂载的目录显示当前主机中NFS服务器的客户机信息# showmount -a显示指定主机中NFS服务器的客户机信息# showmount -a 192.168.152.1314、exportfs命令1)重新输出共享目录(可以使新设置的文件内容生效)使nfs服务器重新读取exports文件中的设置# exportfs -rv2)停止输出所有目录停止当前主机中NFS服务器的所有目录输出# exportfs -auv3)输出(启用)所有目录输出当前主机中NFS服务器的所有共享目录# showmount -av5、启动NFS服务器图形配置工具可使用命令和菜单两种方式启动NFS配置工具命令$ system-config-nfs菜单applications--SystemSettings--Server Settings两种方式都需要root权限在nfs管理工具中进行的所有配置在退出时将保存在/etc/exports中三、NFS客户端配置1、Linux客户端挂载NFS文件系统1)显示NFS服务器的输出# showmount -e 192.168.152.1312)挂载NFS服务器中的共享目录# mount -t nfs \192.168.152.131:/home/share/ /mnt/ (-t选项指定需要挂载的文件系统类型为nfs,主机地址与共享目录之间用冒号分隔)3)显示当前主机挂载的nfs共享目录#mount | grep mnt192.168.152.131:/home/share/ on /mnt type nfs (rw,addr=192.168.152.131) 4)卸载系统中已挂载的NFS共享目录#umount /mnt5)系统启动时自动挂载nfs文件系统将NFS的共享目录挂载信息写入“/etc/fstab”文件,可实现对NFS共享目录的自动挂载# tail -1 /etc/fstab192.168.152.131:/home/pub /mnt nfs defaults 0 0 (defaults是挂载选项)对于fstab文件也可以使用mount和umount挂载、卸载2、在Windows中使用NFS客户端1)概述Windows操作系统中可以通过安装NFS客户端软件实现对NFS服务器的访问Omni LiteOmni Lite是比较常用的Windows操作系统中运行的NFS客户端软件Omni Lite是商业软件,可以下载并进行试用ftp:///pub/xlink_demo/cnet/liteall.exeOmni Lite可以运行于Windows 95之后的所有Windows操作系统Omni Lite的试用期限为15天2)Omni Lite使用步骤A启动NFS Client程序在Windows操作系统中选择“开始”=〉“程序”=〉“Omni-Lite V4.13”菜单,并选择“NFS Client”程序项启动NFS客户端程序B设置NFS服务器主机记录选择HOSTEDIT按钮,选择“New”菜单项添加一个指向Linux NFS服务器的主机记录C定义NFS驱动器的连接在nfs client界面中--》define--》browse--》在server列表中选择已定义的主机名,这时显示右侧的exported path列表--》选择要挂载的目录路径--》ok--》下一步--》设置uid、gid均为65534(65534是rhel4系统中nfs匿名用户和组nfsnobody的uid和gid)--》下一步--》显示设置内容D挂载NFS驱动器在nfs client界面中--》选已配置的nfs启动器--》单击mount(盘符由黄色变为绿色表示挂载成功)E使用NFS网络驱动器和使用本地磁盘一样F卸载NFS驱动器在nfs client界面中选择要卸载的驱动器--》单击umount 这应该对你有帮助。
NFS服务器+客户端配置
NFS服务器+客户端配置NFS:Network File System使⽤NFS需要启⽤RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端⼝号,重启RPC后,RPC所管理的所有NFS功能服务都需重新向RPC注册。
设置NFS需要安装nfs-utils和portmap程序,使⽤rpm –q可以查看是否安装。
nfs-utils:提供rpc.nfsd和rpc.mountd两个daemon与其他document说明⽂件。
rpc.nfsd:管理client是否能够登⼊主机,及对登⼊者ID的辨别。
rpc.mountd:管理NFS⽂件系统,读取/etc/exports对⽐client取得相应的权限。
portmap:端⼝映射;在启动rpc之前做好端⼝映射⼯作。
NFS的配置⽂件:/etc/exports:NFS配置⽂件/var/lib/nfs/*tab:NFS服务器⽇志放置路径;etab记录共享出来的⽬录完整权限设置值;xtab记录曾经连接到此NFS主机的相关客户端数据NFS的两个命令:/usr/sbin/exportfs:维护NFS共享资源;重新共享/etc/exports变更⽬录或将NFS server共享⽬录卸载或重新共享/usr/sbin/showmount:在客户端查看NFS服务器共享出来的⽬录资源/etc/exports配置⽂件/etc/exports配置⽂件说明格式:<输出⽬录> [ 客户端1 选项(访问权限,⽤户映射,其他)] [客户端2 选项(访问权限,⽤户映射,其他)]共享⽬录必须使⽤绝对路径,权限部分依照不同的权限共享给不同的主机,括号内是设置权限参数的位置,权限不⽌⼀个时,使⽤ , 隔开,主机名和括号连在⼀起。
主机名设置可以使⽤⽹段:192.168.1.0/24或完整IP:192.168.1.23;也可以使⽤主机名称,但此主机名称需要存在于/etc/hosts中或使⽤DNS可以找到,找到IP即可,主机名⽀持通配符,如*?/mnt/sda4/share/images 192.168.23.129(rw)# 设置共享⽬录/mnt/sda4/share/images,仅192.168.23.129主机允许访问此共享⽬录,具有读写权限/mnt/sda4/share/data 192.168.23.129(rw) *(ro)# 设置共享⽬录/mnt/sda4/share/data,192.168.23.129可以读写该共享⽬录,其他主机只可以读取该共享⽬录/mnt/sda4/share/icon 192.168.23.129(no_root_squash)# 设置共享⽬录/mnt/sda4/share/icon,仅192.168.23.129可以访问和读写,root登录时拥有root权限/mnt/sda4/share/ds 192.168.23.0/24(rw)# 设置共享⽬录/mnt/sda4/share/ds,仅有192.168.23.0/24⽹段的主机才可访问和读写此⽬录⽂件/mnt/sda4/share/diaos *(rw,all_squash,anonuid=500,anongid=500)# 设置共享⽬录/mnt/sda4/share/diaos,所有主机都允许访问此共享⽬录,具有读写权限,但他们访问该共享⽬录时,已将其UID、GID设置成500。
linuxNFS安装配置及常见问题、etcexports配置文件、showmount命令
linuxNFS安装配置及常见问题、etcexports配置⽂件、showmount命令1,服务器端软件:安装nfs-utils和portmap(rpcbind)nfs-utils:提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的套件portmap: NFS其实可以被看作是⼀个RPC SERVER PROGRAM,⽽要启动⼀个RPC SERVER PROGRAM,都要做好PORT 的对应⼯作,⽽且这样的任务就是由PORTMAP来完成的。
通俗的说PortMap就是⽤来做PORT的mapping的。
NFS需要启动的DAEMONS:参考pc.nfsd:主要复杂登陆权限检测等必须portmap:处理RPC程序客户端和服务器端的端⼝对应必须rpc.mountd:负责NFS的档案系统,当CLIENT端通过rpc.nfsd登陆SERVER后,对clinet存取server的⽂件进⾏⼀系列的管理必须lockd:处理通过RPC包的锁定请求statd:为nfs锁定服务提供crash恢复功能rquotad:处理当⽤户通过nfsmount到远程服务器时的配额守护进程启动顺序:rpc.portmap, rpc.mountd, rpc.nfsd, rpc.statd, rpc.lockd (新版本会⾃动跟着nfsd启动起来),rpc.rquotadNF服务器端命令:•yum install nfs-utils portmap•chkconfig rpcbind on #chkconfig:更新和查询各运⾏级别的系统服务•chkconfig nfs on•service rpcbind start•service nfs start2,服务器端配置⽂件/etc/exports:指定要共享的⽬录及权限 man exports复制代码代码如下:#:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work ⽬录。
LINUXNFS配置手册一、Server端配置:1.etcexports格式:编辑e..
LINUX NFS配置手册一、Server端配置:1./etc/exports格式:编辑/etc/exports,#vim /etc/exports例:共享/share目录给192.168.0.x的用户/share 192.168.0.0/24 (rw,no_root_squash)目录选项选项说明:ro :read onlyrw :read writeno_root_squash :信任客户端,对应UID若不想每次修改配置文件后重启nfs服务,可使用exportfs命令:如:# exportfs -au 卸载所有共享目录# exportfs -rv 重新共享所有目录并输出详细信息更多exportfs用法可以使用命令man exportfs查看2.启动portmap服务:service portmap start[restart]3.启动NFS服务:service nfs start[restart]4.NFS服务固定端口修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)# Local servicesmountd 1011/tcp #rpc.mountdmountd 1011/udp #rpc.mountdrquotad 1012/tcp #rpc.rquotadrquotad 1012/udp #rpc.rquotad重起nfs服务service nfs restart5. 此时相关端口已经被固定,可以添加防火墙规则#vim /etc/sysconfig/iptables#portmap-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT#nfsd-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT#mountd-A INPUT -m state --state NEW -m tcp -p tcp --dport 1011 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 1011 -j ACCEPT#rquotad-A INPUT -m state --state NEW -m tcp -p tcp --dport 1012 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 1012 -j ACCEPT#service iptables restart二、Client端配置:1.启动portmap服务:service portmap start[restart]2.挂载服务器端的共享目录(假设服务器端192.168.0.1):mount -t nfs 192.168.0.1:/share /mnt/localshare3. 如果在开机時就加载,可在/etc/fstab中加入ip:/shara /mnt nfs intr注:ip为server端ip,/share为server端共享目录,/mnt为本地挂载目录三、使用/etc/hosts.allow和/etc/hosts.deny 控制客户端的访问(参考)/etc/hosts.allow和/etc/hosts.deny这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。
Linux1 NFS服务的安全问题
Linux1 NFS服务的安全问题Linux系统的NFS服务相当于Windows系统上的文件共享服务,也许有许多人认为这是一个不恰当的比喻,但是2者在安全问题上却有惊人的相似。
正如,Windows计算机上的安全问题大多来自共享资源一样,NFS服务的错误配置,也很容易令用户的系统被入侵者入侵。
.NFS建立在RPC(远程过程调用)机制上,同样地,基于RPC机制上的NT 系统的服务也不安全,针对Windows共享资源的攻击是当前Internet上最流行的攻击方式,而对NFS的攻击也是入侵者攻击Linux平台计算机的最常用手段。
1.NFS主配置文件/etc/exports在大多数Linux系统的缺省情况下,在编辑/etc/exports目录时,如果用户不指定共享目录的只读(ro)权限,那么该目录为可读写(rw)权限。
另外,NFS的访问控制文件很容易出现错误配置,很多情况下配置为可以被网上任何一台计算机访问,远程用户可以使用“showmount -e IP地址(主机名)”命令来查看NFS服务器是否有NFS的配置漏洞。
例如,用户使用“showmount -e 192.168.0.100”命令,来查看NFS服务器上的共享目录,可能出现如图3-59所示结果。
图3-59 查看共享目录这表明/nfs/IT、/nfs/share、/nfs/public和/home/public目录可以被任何一台计算机挂载(mount),甚至可能有写的权限;而/tmp目录则指定了主机访问限制,必须是IP地址为“192.168.0.20”的计算机才能够进行挂载(mount)。
入侵者大多都会先用这个命令来查询目标计算机上的NFS漏洞,且现在流行的入侵方式已经从以前的对确定目标的攻击方式转变为不管对方是谁,只要有机可乘就入侵的方式。
入侵者可能会写一个脚本或者一个程序,用来对一大段IP地址进行扫描,并能够列出扫描结果以及报告给自己。
所以,正确的配置是非常重要的。
NFS服务器
1.3.2 导出配置文件/etc/exports 在/etc/exports文件中添加一些项目后,需要用exportfs命
令导出共享目录,只有这样才能保证该目录能够被别 的系统所访问。命令如下:
# /usr/sbin/exportfs –a –v exporting 202.194.230.0/255.0.0.0:/home 1)- a表示导出/etc/exports下的所有目录; 2)- v表示打印出详细的输出行; 3)- r表示挂载文件系统的属性为只读; 4)- w表示挂载文件系统的属性为读/写。
1.2.2 NFS服务器的启动 NFS服务有两个守护进程,因此我们需要以根用户身份通过输入下面命令来
启动脚本:
# /etc/init.d/nfs start #/etc/init.d/nfslock start 要停止服务,请用:
# /etc/init.d/nfs stop #/etc/init.d/nfslock stop 要重新启动,请用:
3)squash anonuid=xx:我们也可以设定远程用户到本地 特定的用户或者组身份上,例如squash anonuid=300。
4)squash uids=0-99:用来排除任何计算机的管理性登录, 防止其修改共享目录下的任何文件。
4. 其他安全选项 除上面设置用户权限的方法外,还有以下安全选项用于
Maple:/tmp /mnt/maple nf/apps /oak/apps nfs noauto, ro
其可能的选项(options)如下: 1)Hard:如果NFS服务器出现故障或者断开,一个正要访问该服务
器的进程会停止下来,直到服务器接通为止。
# umount apple:/tmp 或
nfs 参数
nfs 参数NFS(Network File System)是一种分布式文件系统,可以让多个计算机通过网络共享文件。
在使用NFS时,需要设置一些参数来控制其行为和性能。
本文将详细介绍NFS参数的含义和设置方法。
一、NFS参数概述在Linux系统中,NFS参数主要包括以下几个方面:1. NFS服务端参数:这些参数用于控制NFS服务器的行为,例如共享目录、权限等。
2. NFS客户端参数:这些参数用于控制NFS客户端的行为,例如挂载远程目录、缓存大小等。
3. RPC(Remote Procedure Call)参数:这些参数用于控制RPC通信的行为,例如超时时间、连接数等。
4. TCP(Transmission Control Protocol)参数:这些参数用于控制TCP通信的行为,例如缓存大小、拥塞控制等。
5. UDP(User Datagram Protocol)参数:这些参数用于控制UDP 通信的行为,例如超时时间、最大传输单元等。
二、NFS服务端参数1. exportsexports文件是NFS服务器配置文件中最重要的部分之一。
它包含了所有需要共享给客户端的目录及其相关信息。
每个条目都由以下几个字段组成:<export-path> <client-options>其中,<export-path>表示需要共享的目录路径;<client-options>表示客户端可以使用的选项,例如权限、读写方式等。
例如:/home/user1 192.168.0.0/24(rw,all_squash)这个条目表示将/home/user1目录共享给192.168.0.0/24网段的客户端,并且允许读写操作,同时将所有客户端的UID和GID映射到匿名用户。
2. no_subtree_checkno_subtree_check参数用于控制NFS服务器是否检查共享目录的子目录。
NFS参数配置详细说明
NFS参数配置详细说明1、NFS概述NFS:Network file system,网络文件系统;由sun公司1984年推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom);设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和操作系统无关的技术;NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样;NFS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010);如何查看nfs当前的版本:rpm -qi portmaprpm -qi nfs-utilsNFS服务器的安装:可以由多种安装方法:----在安装linux系统时选择安装nfs服务对应的组件;(多数linux发行版本默认安装)----安装nfs的rpm套件包(手动安装)rpm -ivh rpm包需要5个RPM包。
setup-*:共享NFS目录在/etc/exports中定义(linux默认都安装)initscripts-*:包括引导过程中装载网络目录的基本脚本(linux默认都安装)nfs-utils-*:包括基本的NFS命令与监控程序portmap-*:支持安全NFS RPC服务的连接quota-*:网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)----也可以去下载nfs的源代码包,进行编译安装;RPC(Remote Procedure call) NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。
而这些传输协议用到这个RPC功能的。
可以说NFS本身就是使用RPC的一个程序。
或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。
Linux1 NFS概述
Linux1 NFS概述Samba是主要用于实现Linux与Windows操作系统之间文件共享的协议,而NFS则是实现Unix与Linux操作系统之间文件共享协议。
NFS(Network File System,网络文件系统)最早是由Sun公司于1984年开发出来的,现在已经成为文件服务的一种标准。
NFS的主要目的就是让不同计算机不同操作系统之间可以彼此共享文件(share files),由于NFS使用起来非常方便,因此很快得到了大多数的UNIX/Linux系统的广泛支持,而且还被IETE(国际互联网工程组)制定为RFC1904、RFC1813和RFC3010标准。
NFS作为一种分布式文件系统,提供了一种在网络上的计算机间输出文件的方法,文件就如同位于用户计算机的本地磁盘上一样。
NFS采用典型的客户端/服务器(C/S)工作模式,这意味着它可以将文件系统导出给其它系统,也可以挂载从其它计算机上导入的文件系统。
Red Hat Enterprise Linux 5.4系统既可以作为NFS服务器,把文件系统导出给其它系统使用,也可以是NFS客户端,挂载从其它主机上导入的文件系统。
例如,在NFS服务器上将/nfs/public目录设置为输出目录(即共享目录)后,其它客户端就可以将这个目录挂载到自己系统中的某个目录下,这个目录可以与服务器上的输出目录和其它客户端计算机中的目录不相同,如图3-1所示,客户端计算机1与计算机2的挂载目录就不相同。
如果某用户登录到客户端计算机1并进入/mnt/nfs目录,那么他就可以看到NFS服务器内/nfs/public目录下的所有子目录及文件,只要具有相应的权限,就可以使用cp(复制)、cd(改变目录)、mv(移动)、rm(删除)和df(查看分区空间)等命令对磁盘或文件进行相应的操作。
NFS客户端图3-1 NFS服务器共享目录与客户端挂载示意图另外,数据传输需要使用端口,NFS也不例外,但NFS在传输数据时使用的端口是随机选择的(小于1024)。
Linux下NFS(网络文件系统)的建立与配置方法
F i l e S y s t e m) 是 一 种 将 远 程 主 机 上 的 s y n c , n o _ r o o t _ s q u a s h) 然后保存退出 。 分区 ( 目录 ) 经 网 络 挂 载 到 本 地 系 统
UX
的 NF S开 发 环境 。 嵌 入式 L i n u x 的 NF S 开 发 环 境
# mk d i r/ mn t / NF S/ /建 立 L i n —
的 实 现 包 括 两 个 方 面 :一 是 L i n u x
服 务 器 输 出 共 享 目录 的 挂 载 点 ;
≠ ≠ mo unt t N FS 1 9 2. 1 6 8. 0. 2 0:
/ h o me / wo r k也 称 为 服 务 器 输 出
共 享 目录 。
参数 意 义描 述 如 下 :
开 发者需要 在 L i n u x服 务 器 上 进 行 所有的软件开发 , 交叉编译后 , 通 用
F T P 方式 将 可 执 行 文 件 下 载 到 嵌 入
n Ⅳ: 读 /写 权 限 , 只 读权 限 的 参 端 的 配 置 数为 r o ;
最 后 执 行 如 下 命 令 启 动 NF S服 S h e l l下 , 执 行 如 下 命 令 来 进 行 NF S 务 ,此 时 NF S会 激 活 守 护 进 程 , 然 共 享 目录 挂 载 : 后就 开 始 监 听 C l i e n t端 的 请 求 :
# / e t c / r c. d/ / n i t. d / N FS s t a r t
添加 的 内容 表 示 :允 许 i p地 址
NFS服务器的配置与使用
第五章NFS服务器的配置与使用NFS(Network Files system)是网络文件系统,它能够在不同的Linux/UNIX系统上使用,以达到文件的共享。
本章将介绍有关网络文件系统NFS的知识。
本章目标:学习完本章你将能够¾理解NFS的作用及工作原理¾配置NFS服务器¾使用NFS1.NFS简介什么是NFS呢?它是Network File system的缩写,即网络文件系统。
NFS是由SUN公司开发,并于1984年推出的一个RPC服务系统,它使我们能够达到文件的共享,在不同的系统间使用,所以它的通信协议设计与主机及操作系统无关。
当用户想使用远程文件时只要用“mount”命令就可把远程文件系统挂接在自己的文件系统之下,使远程的文件与使用本地计算机上的文件一样。
例如在计算机A上,要把计算机B上的/usr/man挂接到A的/usr/man只需执行如下命令即可:mount B:/usr/man /usr/man用户不但可以mount(挂接)目录,而且可以挂接一个文件。
在挂接之后用户只能对文件做读取(或者写入)的操作,而不能在远程计算机上把此文件或目录移动或删除,但是如果挂接 /usr/man后,则不能再挂接 /usr/man底下的目录,否则会发生错误。
NFS就是一种促使servers(服务器)上的文件能被其他的计算机挂接而达到资源共享的网络文件系统,使用这些文件的计算机就可称为Client(客户机),一个客户机可以从服务器上挂接一个文件或者一个层次的目录。
然而,事实上任何一台计算机都可以是NFS服务器或NFS客户机,甚至同时为NFS 服务器和NFS客户机。
NFS服务器所共享出来的文件或目录都记录在/etc/exports文件中,当启动NFS 服务器时,脚本/etc/rc.d/rc会自动启动exportfs程序,搜索/etc/exports这一个文件是否存在,并且赋予正确的权限给所有共享出去的文件或目录。
LinuxNFS服务器的安装与配置方法(图文详解)
LinuxNFS服务器的安装与配置⽅法(图⽂详解)⼀、NFS服务简介 NFS 是Network File System的缩写,即⽹络⽂件系统。
⼀种使⽤于分散式⽂件系统的协定,由Sun公司开发,于1984年向外公布。
功能是通过⽹络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应⽤程序在客户端通过⽹络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘⽂件共享的⼀种⽅法。
NFS 的基本原则是“容许不同的客户端及服务端通过⼀组RPC分享相同的⽂件系统”,它是独⽴于操作系统,容许不同硬件及操作系统的系统共同进⾏⽂件的分享。
NFS在⽂件传送或信息传送过程中依赖于RPC协议。
RPC,远程过程调⽤ (Remote Procedure Call) 是能使客户端执⾏其他系统中程序的⼀种机制。
NFS本⾝是没有提供信息传输的协议和功能的,但NFS却能让我们通过⽹络进⾏资料的分享,这是因为NFS使⽤了⼀些其它的传输协议。
⽽这些传输协议⽤到这个RPC功能的。
可以说NFS本⾝就是使⽤RPC的⼀个程序。
或者说NFS也是⼀个RPC SERVER。
所以只要⽤到NFS的地⽅都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。
这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。
可以这么理解RPC和NFS的关系:NFS是⼀个⽂件系统,⽽RPC是负责负责信息的传输。
⼆、系统环境系统平台:CentOS release 5.6 (Final)NFS Server IP:192.168.1.108防⽕墙已关闭/iptables: Firewall is not running.SELINUX=disabled三、安装NFS服务NFS的安装是⾮常简单的,只需要两个软件包即可,⽽且在通常情况下,是作为系统的默认包安装的。
•nfs-utils-* :包括基本的NFS命令与监控程序•portmap-* :⽀持安全NFS RPC服务的连接1、查看系统是否已安装NFS系统默认已安装了nfs-utils portmap 两个软件包。
Linux1 配置NFS服务器实现LINUX之间的互访
Linux1 配置NFS服务器实现LINUX之间的互访NFS又称网络文件系统,实现在网络上与他人共享目录和文件,通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件,适用于不同操作系统之间的文件传输,可在异种网络上输出和挂载远程文件系统,实现跨平台的文件访问功能。
1.实例目的:●挂载光盘文件至目录●安装nfs软件包●编辑配置文件●输出共享目录2.实例步骤:(1)右击桌面空白区域,执行【打开终端】命令,在打开的终端窗口中,输入“mount /dev/cdrom /media”命令,并按【回车】键,挂载光盘至/media目录下,如图3-79所示。
图3-79 打开终端(2)输入“cd /media/Server”命令,并按【回车】键,进入/media/Server目录,如图3-80所示。
图3-81 进入目录(3)输入“ls | grep nfs*”命令,并按【回车】键,列出rpm安装包,如图3-81所示。
图3-81 列出nfs安装包(4)输入“rpm –ivh system-config-nfs-1.3.23-1.e15.noarch.rpm”,并按【回车】键,安装“system-config-nfs-1.3.23-1.e15.noarch.rpm”软件包,如图3-82所示。
图3-82 安装软件(5)输入“service portmap start”命令,按【回车】键,输入“service nfs start”命令,按【回车】键,分别启动portmap和nfs服务,如图3-83所示。
图3-83 启动服务(6)输入“vi /etc/exports”命令,并按【回车】键,进入vi编辑器,如图3-84所示。
图3-84 进入vi编辑器(7)在配置文件中按“i”键,进入插入模式,并输入“/root/share * 192.168.0.250 (ro,sync)”,然后按【Shift+;】组合键,进入末行模式,输入“wq”命令,按【回车】键,保存配置,如图3-85所。
Linux1 客户端可使用的挂载参数
Linux1 客户端可使用的挂载参数客户端的挂载对于用户来讲非常简单,只需要使用简单的命令即可实现。
但是,在挂载时也存在一些安全问题。
例如,用户挂载到本机/home/nfs/public的文件系统中包含有一个脚本(script)文件,而该脚本文件的内容为“rm -rf”,文件权限为555,如果用户不小心执行了这个脚步文件,则整个系统都将被删除,因此,在使用时需要格外小心。
为了保证NFS文件系统的安全性,用户在挂载时可以通过mount的命令参数来实现,如表3-5所示列出了mount命令的主要参数。
表3-5 mount命令主要参数设置用户权限(SUID)即Set User ID,主要作用就是让本来没有相应权限的用户运行这个程序时,从而达到可以访问没有权限访问的资源的目的。
提示一般来讲,如果NFS服务器提供的只是类似/home目录中的个人数据,那么应该不需要可执行、SUID与装置文件等功能,因此,客户端在挂载的时候,可以使用“mount -t nfs -o nosuid,noexec,nodev,rw IP地址(主机名):共享目录挂载点”命令进行挂载,这样被挂载的文件系统只能作为数据存取只用,对于客户端来讲是比较安全的。
例如,客户端用户挂载IP地址为“192.168.0.100”的NFS服务器上的共享目录“/nfs/share”到本机挂载点“/home/nfs/public”下,可以使用“mount -t nfs -o nosuid,noexec,nodev,rw 192.168.0.100:/nfs/share /home/nfs/public”命令,如图3-45所示。
然后,使用“mount”命令即可查看挂载目录的详细信息。
图3-45 使用mount参数进行挂载1.NFS特殊挂载参数除了上述mount的主要参数之外,针对NFS服务器,Linux系统还提供了一些特殊参数。
因为,NFS使用的是RPC服务,所以这个RPC需要客户端与服务器2端都启用RPC才能够运行。
浅谈Linux系统下NFS服务器配置及应用
p o r t m a p ( 端 口映
射) 服务, 提供了多种文件共享服务方式, 在嵌入式开发中, 多用于宿主主机与开发板 间文件传输。 本文简要阐述L i n u x 系统下N F s 服务的配置
方法及 应用技巧 。
关键 词: N F S ; P o r t m a p ; 共 享服务
1 9 2 . 1 6 8 . 1 . 3 ( s y n c , r W )
[ 参考文献】
[ 1 ] 刘 昆. L i n u x 环 境下宿主机 与A R M 开发板 N F S J ]  ̄ 务的配置. 科技 资讯
录。
0 0 8 , 第五期. ( 3 ) 修改 / h o m e 、 / a b c 目录的权 限, 允许其它用户读 写共享 目 2 _ 2 ] 陈欣. R H E L 5 TN F s 月 艮 务器的配置与研究. 科技与生活, 2 0 1 1 年第1 7 期.
在 启动N F s 服务器 前, 先 启动p o r t r n a p  ̄ 务, 然 后再启动
F s 服 务, N F s 服 务向p 0 r t m a p 服务注册, 建立端 口映射 关系 。 客户端模 式, 依赖于p o r t m启动占用1 1 1 端 口, N F S 启动占用2 0 4 9 端 口, 使用r p e i n f o 件共享 方式 , 在 嵌入式 开发和L i n u x 系统 问共享 文件 中得 到广 p
一
个 配置 文件提 供 共享 目录, 文件 位: ] : / e t c 目 录下, 文件名 为
共享 目录名 客户端主机I P 地址 ( 配置选项 ) 。 例如 : 配 置N F s 服 务器 ( 基于R e d H a t E n t e r p r i s e A S
linux之NFS详解
linux之NFS详解⼀、NFS的应⽤与概述# 1.为什么⽤共享存储# 2.存储有哪些⼯具# 3.共享存储应⽤场景有哪些# 4.部署nfs共享存储# 5.客户端尝试连接共享存储什么是NFS?NFS 是 Network File System 的缩写及⽹络⽂件系统。
NFS 主要功能是通过局域⽹络让不同的主机系统之间可以共享⽂件或⽬录。
NFS 系统和 Windows ⽹络共享、⽹络驱动器类似, 只不过 windows ⽤于局域⽹, NFS ⽤于企业集群架构中, 如果是⼤型⽹站, 会⽤到更复杂的分布式⽂件系统FastDFS,glusterfs,HDFS那么我们为什么要使⽤数据存储共享服务?1.实现多台服务器之间数据共享2.实现多台服务器之间数据⼀致1.1 NFS应⽤场景下⾯我将通过图解给⼤家展⽰集群需要共享存储服务的理由。
1.A ⽤户上传图⽚经过负载均衡,负载均衡将上传请求调度⾄ WEB1 服务器上。
2.B ⽤户访问 A ⽤户上传的图⽚,此时 B ⽤户被负载均衡调度⾄ WEB2 上,因为 WEB2 上没有这张图⽚,所以 B⽤户⽆法看到 A ⽤户传的图⽚如果有共享存储的情况1.A ⽤户上传图⽚⽆论被负载均衡调度⾄ WEB1 还是 WEB2, 最终数据都被写⼊⾄共享存储2.B ⽤户访问 A ⽤户上传图⽚时,⽆论调度⾄ WEB1 还是 WEB2,最终都会上共享存储访问对应的⽂件,这样就可以访问到资源了1.2 nfs存储⼯作原理实现NFS⼯作原理# 1.⽤户进程访问 NFS 客户端,使⽤不同的函数对数据进⾏处理# 2.NFS 客户端通过 TCP/IP 的⽅式传递给 NFS 服务端# 3.NFS 服务端接收到请求后,会先调⽤ portmap 进程进⾏端⼝映射。
# 4.nfsd 进程⽤于判断 NFS 客户端是否拥有权限连接 NFS 服务端。
# 5.Rpc.mount 进程判断客户端是否有对应的权限进⾏验证。
# 6.idmap 进程实现⽤户映射和压缩# 7.最后 NFS 服务端会将对应请求的函数转换为本地能识别的命令,传递⾄内核,由# 内核驱动硬件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux1 NFS服务的主配置文件
/etc/exports文件是NFS服务的主要配置文件,该文件用于设置服务器的共享目录,以及目录允许访问的主机、访问权限以及其它选项等。
在更改配置/etc/exports 文件后,需要通过exportfs命令使更改后的配置生效。
默认情况下,NFS安装完成后会在/etc/目录下创建一个空白的exports文件,即没有任何的共享目录,用户可以通过使用“vi /etc/exports”命令来查看该文件,如图3-11所示。
在配置NFS服务器时需要对其进行手工编辑。
这是基于安全性的考虑,这样即使系统启动NFS服务也不会输出任何共享资源。
图3-11 默认exports文件内容
当用户手动编辑该文件时,需要明白,文件中的每一行都可以定义一个共享目录,其格式为:
共享目录[客户端1(选项1,选项2,...)] [客户端2(选项1,选项2,...)]...。
其中,共享目录与各客户端之间以空格进行分隔,除共享目录以外,其它的选项内容都是可选的。
注意共享目录与客户端之间、客户端与客户端之间都需要使用空格分隔,但是客户端和选项之间不能够使用空格。
1.共享目录
共享目录就是NFS系统中需要共享给客户端使用的输出目录。
2.客户端
客户端是指网络中可以访问这个NFS共享目录的计算机。
客户端的指定非常灵活,可以是单个计算机的IP地址或域名,也可以是某个子网或域中的计算机等。
客户端常用的指定方式如表3-1所示
表3-1 客户端常用指定方式
3.选项
选项用来设置输出目录的访问权限、用户映射等。
exports文件中的选项比较多,一般可分为以下3类。
●访问权限选项
访问控制选项主要是用于控制共享目录访问权限的选项。
该类选项只有ro和rw 两项,如表3-2所示。
表3-2 访问权限选项
●用户映射选项
默认情况下,当客户端访问NFS服务器时,若远程访问的用户是root用户,则NFS服务器会将它映射成一个本地的匿名用户(该用户账户为nfsnobody),并将它所属的用户组也映射成匿名用户组(该用户组账户也为nfsnobody),这样有助于提高系统的安全性。
通常包括表3-3所示的用户映射选项以供用户对此进行调整。
其它选项
其它选项比较多,可用于对共享目录进行更全面的控制,如表3-4所示为常用选项。
例如,用户可以先使用“mkdir”命令来创建需要共享的目录,然后,使用“vi /etc/exports”命令对exports文件进行编辑,如图3-12所示。
结果显示
图3-12 创建共享目录
这个配置文件很简单,每一行最前面是要共享出来的目录(如/nfs/share),然后是整个目录可以根据不同的权限共享给不同的主机,如将/nfs/share目录共享给IP 地址为“192.168.0.5”的计算机。
IP地址后面的小括号()内是设置的权限参数,若权限参数不止一个时,需要使用逗号(,)分开,且主机名与小括号是连在一起的。
在该文件内,也可以使用符号(#)来做标注,如图3-13所示。
图3-13 添加标注
提示如果用户没有指定sync或async参数,那么在重新启动nfs服务时,会显示警告信息,用户可以不用管它,因为NFS会默认使用sync参数。