配置NFS 服务
Windows下NFS服务器SFU设置

二者通过交叉线连接,ARM 板操作如下:
[root@(none) /]$
[root@(none) /]$mount -t nfs -o nolock 192.168.1.7:work /mnt/nfs/
[root@(none) /]$cd /mnt/nfs/
[root@(none) nfs]$ls
gpsdata ll
test
[root@(none) nfs]$./gpsdata
handle
Reading data from robot.
[root@(none) nfs]$
以上成功挂载了 windows 共享的 work 目录,并运行了 gpsdata 程序 注:如出现网络不通的问题,则应检查本地连接是否有防火墙,如有,则去掉防火墙保护。
三、配置 Services for UNIX Administration
1、选择开始->程序->Windows Services for Unix->Services for Unix Administration 启动 Services for UNIX Administration, 2、出现设置窗口后,点击 左边子窗口 User Name Mapping,再点击标签栏“Map”,然后点击 show User Maps, 出现如下画面:
例如: passwd 内容
root:x:0:0:root:/root:/bin/sh group 内容
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。
实验四 配置NFS服务

实验四配置NFS服务一、实验目的:配置宿主P 机端的NFS 服务,并开通此服务。
二、实验内容:参照本教程给出的步骤,一步一步地完成NFS 服务的配置。
三、实验设备:1、一套PXA270RP 嵌入式实验箱。
2、安装Redhat9 的宿主PC 机。
四、实验步骤:NFS(Network File System)指网络文件系统,是Linux 系统中经常使用的一种服务,NFS 是一个RPC service,很像windows 中的文件共享服务。
它的设计是为了在不同的系统间使用, 所以它的通讯协议设计与主机及作业系统无关。
1、在宿主PC 机端,打开一个终端窗口(Terminal)输入命令:setup;进入设置界面后,通过键盘上下键选择System services ,回车后,使用空格键将nfs 一项选中(出现[*]表示选中),并使用空格键去掉ipchains 和iptables 两项服务(即去掉它们前面的*号)。
然后单击键盘Tab 键选中Ok 退出, 再次单击键盘Tab 键选中Quit 退出整个设置界面。
2、在上面打开的同一个终端窗口(Terminal)中,修改根目录下etc 目录中的exports 文件,“指定用户”是通过编辑文件“exports”:请您输入下列2 条命令允许“指定用户”访问宿主PC 机:vi /etc/exports,这时,将进入vi 编辑器所显示的exports 文件中。
单击键盘A 键,进入vi 编辑器的输入状态(Insert), 通常这是一个空文件。
通过键盘上下键移动光标到文件顶端,输入下列1 条语句,当然若不是空文件,则另起一行,请您输入下列语句:/ 192.168.0.*(rw,insecure,no_root_squash,no_all_squash)上述1 条语句输入完成后,单击Esc 键进入vi 编辑器的命令状态,然后单击键盘输入:wq,保存已编辑的exports 文件并退出vi 编辑器。
nfs用法

NFS(Network File System)是一种分布式文件系统,它允许网络上的客户端访问和操作服务器上的文件,就像在本地操作一样。
NFS的主要用途是通过计算机网络共享文件系统,方便用户在不同的机器上访问和操作同一套文件。
NFS的用法相对简单,以下是其基本用法:1.安装NFS服务器和客户端:首先需要在服务器和客户端上安装NFS软件包。
对于大多数Linux发行版,可以使用系统的包管理器来安装。
例如,在基于Debian的系统上,可以使用apt-get install nfs-kernel-server命令来安装NFS服务器软件包,使用apt-get install nfs-common命令来安装NFS客户端软件包。
2.配置NFS服务器:在服务器上,需要配置NFS共享的目录。
通常在NFS服务器的配置文件/etc/exports中指定要共享的目录和访问权限。
例如,/mnt/share *(rw,sync,no_root_squash)表示将/mnt/share目录以读写方式共享给所有客户端。
3.启动NFS服务:配置完成后,需要启动NFS服务。
在大多数Linux发行版上,可以使用/etc/init.d/nfs-kernel-server start命令来启动NFS服务。
4.挂载NFS共享目录:在客户端上,需要将NFS共享目录挂载到本地文件系统上。
可以使用mount -t nfs server:/path/to/share /mnt/nfs命令来挂载NFS共享目录。
其中,server:/path/to/share是NFS服务器的共享路径,/mnt/nfs是本地挂载点。
5.使用NFS共享目录:一旦挂载成功,客户端就可以像操作本地文件一样使用NFS共享目录了。
需要注意的是,使用NFS需要在服务器和客户端之间建立信任关系,通常需要配置防火墙和SELinux等安全机制来保护NFS服务的正常运行。
此外,还需要根据实际需求调整NFS的配置参数,以满足特定的性能和安全性要求。
NFS服务器配置教程及代码

[root@localhost CDROM]# pwd/media/CDROM[root@localhost CDROM]# cp /media/CDROM/Server/vsftpd-2.0.5-10.el5.i386.rpm /home/cyy [root@localhost CDROM]# cd /home/cyy[root@localhost cyy]# lsDesktop hello.txt vsftpd-2.0.5-10.el5.i386.rpm[root@localhost cyy]# rpm -ivh vsftpd-2.0.5-10.el5.i386.rpmwarning: vsftpd-2.0.5-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] [root@localhost vsftpd]# grep -v "#" /etc/vsftpd/vsftpd.confanonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES[root@localhost vsftpd]# ls -a. .. ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh[root@localhost vsftpd]# mv /etc/vsftpd/vsftpd.conf{,.org}[root@localhost vsftpd]# lsftpusers user_list vsftpd_conf_migrate.sh [root@localhost etc]# cp/usr/share/doc/vsftpd-2.0.5/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /etc/vsftpd/ cp: overwrite `/etc/vsftpd/vsftpd.conf'?[root@localhost etc]# cd /etc/vsftpd[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.anon_readonly[root@localhost vsftpd]# vi vsftpd.confwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES[root@localhost vsftpd]# mkdir /var/ftp/incoming[root@localhost vsftpd]# cd /var/ftp[root@localhost ftp]# lsincoming pub[root@localhost ftp]# ls -ltotal 16drwxr-xr-x 2 root root 4096 Apr 21 03:15 incomingdrwxr-xr-x 2 root root 4096 Jan 17 2007 pub[root@localhost ftp]# chown ftp /var/ftp/incoming[root@localhost ftp]# ls -ltotal 16drwxr-xr-x 2 ftp root 4096 Apr 21 03:15 incomingdrwxr-xr-x 2 root root 4096 Jan 17 2007 pub[root@localhost ftp]# service vsftpd restartShutting down vsftpd: [FAILED] Starting vsftpd for vsftpd: [ OK ] [root@localhost ftp]# lftp ftp://localhost/incomingcd ok, cwd=/incominglftp localhost:/incoming> put /home/cyy/hello.txtput: Access failed: 553 Could not create file. (hello.txt)lftp localhost:/incoming> lslftp localhost:/incoming> mkdir moimkdir: Access failed: 550 Create directory operation failed. (moi)上面文件上传失败,目录创建失败,原因是SELinux没有设置好,SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是Linux® 上最杰出的新安全子系统。
NFS的设置步骤

NFS的设置步骤NFS(Network File System)是一种分布式文件系统,可以让不同的计算机通过网络共享文件。
在使用NFS之前,需要进行一系列的设置步骤来配置和启动NFS服务器和客户端。
以下是配置和启动NFS的详细步骤:1.安装NFS服务器和客户端软件:首先,要在服务器和客户端机器上安装NFS软件包。
可以通过以下命令安装NFS服务器软件包:```sudo apt-get install nfs-kernel-server```同样地,可以通过以下命令安装NFS客户端软件包:``````2.配置NFS服务器:```sudo nano /etc/exports```在文件中,每一行表示一个共享目录的配置。
每条配置项包括共享目录的路径、访问权限、允许访问的客户端以及其他选项。
例如:```/path/to/shared/directory client_ip(rw,sync,no_subtree_check) ```3.启动NFS服务器:使用以下命令启动NFS服务器:```sudo systemctl start nfs-kernel-server```该命令将启动NFS服务器并开始监听来自客户端的连接请求。
4.配置NFS客户端:```sudo nano /etc/fstab```在文件中,每一行表示一个挂载目录的配置。
每条配置项包括NFS服务器的IP地址或主机名、共享目录的路径、挂载点路径以及其他选项。
例如:```nfs_server_ip:/path/to/shared/directory /path/to/mount/point nfs rw 0 0```5.挂载NFS共享目录:使用以下命令挂载NFS共享目录:```sudo mount -a```该命令将挂载在`/etc/fstab`文件中定义的所有共享目录。
6.验证NFS设置:可以在客户端上使用以下命令验证NFS设置是否正确:```df -h```该命令将显示挂载的文件系统,包括NFS共享目录。
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这一个文件是否存在,并且赋予正确的权限给所有共享出去的文件或目录。
第12章NFS服务器配置

第12章NFS服务器配置本章主要内容:●NFS服务器工作原理●NFS服务器的配置●NFS客户端的配置12.1 NFS服务器工作原理12.1.1 什么是NFS网络文件系统(N etwork F ile S ystem,NFS)最初是由Sun Microsytem公司於1984 年所开发出来的,是在Unix系统间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络访问位于服务器磁盘中数据的一种文件系统协议。
NFS 的基本原则是“容许不同的客户端及服务端通过一组RPCs分享相同的文件系统”,它独立于操作系统。
NFS对于同一网络上的多个使用类UNIX用户间共享目录非常方便。
譬如,一组致力于同一工程项目的用户可以通过使用NFS文件系统在本地机中挂载一个共享目录,这些用户访问该共享目录就像访问本机上的目录一样方便。
NFS 提供了以下的服务:1.在目录(directory)中查找文件2.列出目录中的文件3.管理目录4.取得各文件的属性(file attribute)5.文件的读/写12.1.2什么是RPC远程过程调用(R emote P rocedure C all,RPC)是一个计算机通信协议,该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
RPC采用客户机/服务器模式。
请求程序是客户机,而服务提供程序就是一个服务器。
首先,客户端发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
RPC 最主要的功能就是在指定每个NFS 功能所对应的port number ,並且回报給客户端,让客户端可以连結到正确的端口上去。
那RPC 又是如何知道每个NFS 的端口呢?这是因为服务器在启动NFS服务前要先启动RPC服务,当服务器启动NFS服务后会随机取用几个端口,并主动向RPC注册,因此RPC就知道每个端口对应的NFS功能,然后RPC 使用固定的111杜阿克来监视客户端的请求,并告诉客户端服务器NFS的正确端口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
配置NFS 服务
首先需要启动NFS Server,可以通过smit nfs–> Network File System (NFS) –>Configure NFS on This System启动或者停止nfs服务组。
可以通过lssrc -g nfs查看nfs的服务情况
#lssrc -g nfs
Subsystem Group PID Status
biod nfs 712706 active
nfsd nfs 635260 active
rpc.mountd nfs 462932 active
rpc.lockd nfs 639418 active
rpc.statd nfs 757914 active
nfsrgyd nfs inoperative
gssd nfs inoperative
当然,以上也可以通过startsrc -g nfs与stopsrc -g nfs启动与停止该服务组子系统。
每当系统启动时,/etc/rc.nfs运行exportfs命令来读取服务器上的/etc/exports文件,然后告诉内核要导出哪些目录与对应的权限。
然后rpc.mountd和以上守护进程由/etc/rc.nfs启动。
/etc/exports指定了nfs server要导出的目录与权限,该文件内容如下,如
#more /etc/exports
/u01/logs -sec=sys:krb5p:krb5i:krb5:dh:none,rw,access=host_name
注意:这里的access一定要写机器名,其机器名对应的ip在/etc/hosts中体现出来
用exportfs可以导出该目录,如:
#/usr/sbin/exportfs -a
#/usr/sbin/exportfs
/u01/logs -sec=sys:krb5p:krb5i:krb5:dh:none,rw,access=host_name
关于更多的exportfs的用法,可以查看相关帮助,另外,/etc/xtab则与/ext/exports有一样的格式,运行exportfs的时候,/etc/xtab将被更新,这样可以临时导出一个目录而不更新exports 文件。
关于/etc/exports的更新,也可以用smit nfs–>Network File System (NFS) –>Add a Directory to Exports List或者是Change / Show Attributes of an Exported Directory来实现,如
#smit chnfsexp
* Pathname of directory to export /arch2
Anonymous UID [-2]
Public filesystem? [no]
* Change export now, system restart or both both
Pathname of alternate exports file []
Allow access by NFS versions []
External name of directory (NFS V4 access only) []
Referral locations (NFS V4 access only) []
Replica locations []
Ensure primary hostname in replica list yes
Allow delegations? []
Security method [sys,krb5p,krb5i,krb5,dh,none]
Mode to export directory [read-write]
Hostname list. If exported read-mostly []
Hosts & netgroups allowed client access [host_name1,host_name2]
Hosts allowed root access []
验证服务器中上的/etc/exports 文件是否列出客户机要安装的文件系统名称以及该文件系
统是否已导出。
输入以下命令进行操作:
#showmount -e server_name(主机名)
该命令在NFS Server/client上都可以正常运行,列出了由server_name 当前导出的所有文件系统。
二、配置nfs client
nfs的client配置比较简单,需要portmap服务正常即可。
#lssrc -s portmap
Subsystem Group PID Status
portmap portmap 225506 active
关于mount的信息,是写在/etc/filesystems中的,如
#more /etc/filesystems
......
/arch2:
dev = "/arch2"
vfs = nfs
nodename = database2
mount = true
type = nfs3
options = soft,intr,retry=2,rsize=32768,wsize=32768,timeo=300,proto=tcp
account = false
......
其中nodename指定了服务器的名字,其对应的ip在/etc/hosts中体现,dev指定了服务器的export出来的目录。
也可以在smit中获得,如smit nfs–>Network File System (NFS) –>Add a File System for Mounting或者是Change / Show Attributes of an NFS File System。
如
#mkdir /arch2
#smit nfs
* PA THNAME of mount point /arch2
* PA THNAME of Remote Directory [/arch2]
* HOST where remote directory resides [database2]
Mount type NAME [nfs3]
* Use SECURE mount option? no
* Remount file system now, both
update /etc/filesystems or both?
* /etc/filesystems entry will mount the directory no
on system RESTART.
* MODE for this NFS file system read-write
* A TTEMPT mount in background or foreground? foreground
NUMBER of times to attempt mount [2]
Buffer SIZE for read [32768]
Buffer SIZE for writes [32768]
NFS TIMEOUT. In tenths of a second [300]
NFS version for this NFS file system any
Transport protocol to use tcp
Internet port NUMBER for server []
* Allow execution of SUID and sgid programs yes in this file system?
* Allow DEVICE access via this mount? yes
* Server supports long DEVICE NUMBERS? yes * Mount file system soft or hard soft
以上在database1上可以用下面命令实现:
#mkdir /arch2
#mount database2:/arch2 /arch2
提示mount成功!。