Unix平台下的常用命令技巧之三 NFS文件共享
李守亮 slli@founder.com.cn
Last version:2003-2-24
简述
在日常工作中,经常遇到相同或不同Unix平台之间的NFS文件共享。例如,我们AIX光驱坏了,而实验室只有一台AIX,要安装软件只有通过NFS mount到其他unix平台上。本节给出的是不同平台之间进行文件共享的简单示例,不是很全面,仅供同事们在工作中参考。
NFS的相关命令很多,不同平台的命令格式和使用方法也有所不同,也存在很多技巧。具体使用过程中请多参考相应的帮助文档。NFS的一些高级使用,例如:NFS如何与Diffie-Hellman身份验证、Kerberos身份验证一起工作,以及权限的一些问题我仍在摸索,也请比较熟悉的同事的赐教和补充。
目录
1、 如何实现Sun Solaris平台之间的NFS文件共享?
2、 如何实现AIX到Sun Solaris平台之间的NFS文件共享?
3、 如何实现Sun Solaris到AIX平台之间的NFS文件共享?
4、如何实现Sun Solaris和Linux平台之间的NFS文件共享?
5、如何实现AIX和AIX平台之间的NFS文件共享?
6、如何实现Linux和Linux之间的NFS文件共享?
7、如何实现NT到Linux之间的的NFS文件共享?
8、如何实现UNIX平台到NT之间的文件共享?
9、待补充
内容
=========================================================================
1、如何实现Sun Solaris平台之间NFS文件共享?
方法一:
SUN A:(IP: 162.105.183.13)
#su –
#share –F nfs –o rw=162.105.183.12,root=162.105.183.12 /myshare
#share
SUN B:(IP: 162.105.183.12)
#su –
#mkdir /mymount
#mount –F nfs –o rw 162.105.183.13:/myshare /mymount
#mount
方法二:(写入启动文件)
SUN A:(IP: 162.105.183.13)
#su –
#vi /etc/hosts
162.105.183.12 sllisun
格式:IP ServerName
#cp /etc/dfs/dfstab /etc/dfs/dfstab.sav
#vi /etc/dfs/dfstab
增加:
share –F nfs –o rw=sllusun,root=sllisun /myshare
share –F nfs –o ro /cdrom/disk1
#/etc/init.d/nfs.server start #启动nfs
#share
#/etc/init.d/nfs.server stop #对应地停止nfs
SUN B:(IP: 162.105.183.12)
#su –
#cp /etc/vfstab /etc/vfstab.sav
#vi /etc/vfstab
增加:
162.105.183.13:/myshare - /mymount nfs - yes rw
162.105.183.13:/cdrom/disk1 - /mnt/disk nfs - no ro
#mountall
=========================================================================
2、如何实现AIX到Sun Solaris平台之间NFS文件共享?
语法:
AIX共享端:
exportfs [-aiuv] [-f file] [-o options] [directory]
SUN加载端:
mount -F nfs [-o options] IP:/share mount_point
umount [-f] [-V] [ -o options ] special|mount_point
示例:
AIX:共享/aixshare目录
#exportfs –o rw /aixshare
#exportfs –a #查看共享状态
SUN:加载AIX共享的/aixshare到本机的mount点/sunmount
#mount –F nfs 162.105.183.35:/aixshare /sunmount
#mount #查看mount状态
AIX:删除共享/aixshare
#exportfs –u /aixshare
#exportfs –a #查看共享状态
SUN:删除NFS mount
#umount /sunmount
#mount #查看mount状态
另外,在AIX端还可以修改/etc/exports文件,使用exportfs –a进行共享,示例
#vi /etc/exports
/aaa -root=162.105.183.75,public
/bbb -access=162.05.183.75,public
/slli -access=162.105.183.98,secure
/mytest1 -root=162.105.183.12,access=162.105.183.13,secure,public
#exportfs -a
其次,AIX还可以通过/usr/sbin/mknfsexp命令实现共享,可以通过smit可视化界面操作。
注意:NFS系统的读写权限除和选项有关,还和共享目录的权限、UID等有关;如果共享的光盘不能取出,请检查是否在共享和远程mount。
=========================================================================
3、如何实现Sun Solaris到AIX平台之间NFS文件共享?
语法:
SUN共享端:
share [-F FSType] [-o specific_options] [-d description ] [ pathname ]
unshare [-F FSType] [-o specific_options] [pathname|resourcename ]
AIX加载端:
mount [-fipr] [-n node] [-o options] [-t type] [-{v|V} vfs] [-a | all | [[node:]device] [dir]]
umount [-sf] {-a|-n Node|-t Type|all|allr|Device|File|Directory|Filesystem}
示例:
SUN:共享/sunshare目录,共享/cdrom/disk1
#share –F nfs –o rw=162.105.183.35,root=162.105.183.35 /sunshare
#share –F nfs –o ro /cdrom/Disk1
#share #查看share状态
AIX:加载162.105.183.12的/sunshare到mount点/aixmount,加载/cdrom到oradisk
#mkdir /aixmount
#mkdir /oradisk
#mount –f 162.105.183.12:/sunshare /aixmount
#mount –f 162.105.183.12:/cdrom/Disk1 /oradisk
#mount #查看mount状态
SUN:删除共享/sunshare
#unshare /sunshare
#share #查看共享状态
AIX:删除NFS mount
#umount /aixmount
#mount #查看mount状态
========================================================================
4、如何实现Sun Solaris到Linux之间NFS文件共享?
方法一:
1.SUN端(IP: 162.105.183.12)
#su -
#share -F nfs -o ro -d "share dir description" /sunshare
#share #看是否share
#unshare /sunshare #取消共享
2.Linux端
#su –
#mkdir /mnt/linuxmount
#mount 162.105.183.12:/sunshare /mnt/linuxmount -t nfs
#umount /mnt/linuxmount #卸载mount点
方法二:
1.SUN端(IP: 162.105.183.12)
#su -
#cd /etc/dfs
#cp dfstab dfstab.bak
#vi dfstab
增加一行
share -F nfs -o ro -d "your description" /sunshare
存盘退出vi
#/etc/init.d/nfs.server start
#/etc/init.d/nfs.server start #停止共享
2.Linux端
#su -
#mount 162.105.183.12:/sunshare /mnt/linuxmount -t nfs
#umount /mnt/linuxmount #卸载mount
=========================================================================
5、 何实现AIX和AIX之间的NFS文件共享?
示例:
AIX A:IP:162.105.183.35,共享/myshare目录
#exportfs –o rw /myshare
#exportfs –a #查看共享状态
AIX B:加载/myshare目录到/mymount
#mount –f 162.105.183.35:/myshare /mymount
=========================================================================
6、如何实现Linux和Linux之间NFS文件共享?
Linux A:(IP: 162.105.183.55)
#su -
#vi /etc/exports
增加一行,格式:
/path/to/share host1(permission) host2(permission) host3(permission)
存盘退出
#exportfs –a
Linux B:
#su –
#mkdir /mnt/mymount
格式:mount serverip:/server/path/shared /local/mount/point -t nfs
示例:
#mount 162.105.183.55:/myshare /mnt/mymount -t nfs
=======================================================================
7、如何实现NT到Linux之间的NFS文件共享?
1.turbolinux:
格式:smbmonunt //server/dir /mount/point -o username=xxx,password=xxx
示例:(用户user口令pwd)
#smbmount //162.105.183.125/share /mnt/test -o username=user,password=pwd
#smbmount --help #得到更多帮助
2.redhat:
格式:
smbmount "server/dir" <password_on_nt> -c 'mount /mount/point -u username_on_nt -g group'
示例:(用户user口令pwd)
#su -
#smbmount "162.105.183.125/share" pwd -c 'mount /mnt/test -u user -g 123'
#smbmount --help #得到更多帮助
=======================================================================
8、如何实现UNIX平台到NT之间的文件共享?
从Unix到NT的文件共享,可以通过Samb或PC link等工具来实现。Samb和PC link的配置和使用参见单独给出的文档。
9、待补充
一般地讲,本地的超级用户(root)对在网络中共享出来的文件系统没有root的访问权限。除非服务器提供了超级用户的特权,否则在客户系统上以超级用户登录的用户对远程加载过来的文件系统是没有root的访问权限的。在NFS系统中将访问请求者的ID转换为用户nobody的ID来解决这个问题。用户nobody的权限和其他用户( public )或一个不信任的用户的权限是一样的。比如,其他用户只对一个文件有执行的权限,那么nobody就只能运行这个文件。在一个NFS服务器上,可以使用share命令的root = <hostname>选项在一个共享的文件系统上给予超级用户特权。
NFS的一些问题参见文档:
#man share_nfs
相关命令 mount umount mountall exportfs share unshare share_nfs
李守亮 slli@founder.com.cn
2003-2-24