`
hunxiejun
  • 浏览: 1146696 次
文章分类
社区版块
存档分类
最新评论

Linux NFS 和 Samba 共享配置

 
阅读更多

一.NFS配置

网络文件系统(NFSNetworkFileSystem,主要用于Linux系统之间的文件共享。

1.1Linux服务器端NFS服务器的配置

root身份登陆Linux服务器,编辑/etc目录下的共享目录配置文件exports,指定共享目录及权限等。

#vi/etc/exports

/tmp     *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)--这里是对同一个目录分配2个不同的网段
/home/test  192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)

/home/work 192.168.0.*rw,sync,no_root_squash

内容表示:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work目录。

括号内的参数意义描述如下:

rw:可读写的权限;
ro:只读的权限;

sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会立即写入硬盘。

no_root_squash:登入NFS主机使用分享目录的使用者,如果是root的话,那么对于这个分享的目录来说,他就具有root的权限这个项目极不安全,不建议使用

root_squash:在登入NFS主机使用分享之目录的使用者如果是root时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的UIDGID都会变成nobody那个系统账号的身份。
all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody
anonuid:自行指定UID,这个UID必须存在于/etc/passwd中,一般来说这个UID是一个匿名账户
anongid:anonuid
insecure:允许从这台机器过来的非授权访问
更多的权限说明:manexports

接着启动端口映射redhat中默认自启动

[root@localhost~]#serviceportmapstart

[root@localhost~]#/etc/rc.d/init.d/portmapstart

最后启动NFS服务,此时NFS会激活守护进程,然后就开始监听Client端的请求:

[root@localhost~]#/etc/rc.d/init.d/nfsstart

[root@localhost~]#servicenfsstart

要注意的一点:NFS服务器启动后,最好检查Linux服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS使用的端口和允许通信的主机,主要是检查Linux服务器iptablesipchains等选项的设置,以及/etc/hosts.deny/etc/hosts.allow文件。

我们自己做一个回环测试,即在服务器上挂我们共享的文件,如果能挂上,就ok

#mount–tnfs192.168.0.20:/home/work/mnt

#ls/mnt


Exportfs命令:

/usr/sbin/exports可以用来重新共享变更的目录或者卸载目录如果我们在启动了NFS之后又修改了/etc/exports,这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs[-aruv]
-a:全部挂载/etc/exports文件内的设置
-r:重新挂载/etc/exports的设置
-u:卸载某一目录
-v:把执行过程显示在屏幕上
[root@localhost~]#exportfs-rv--全部重新export一次
exporting192.168.0.100:/home/test
exporting192.168.0.*:/home/public
exporting*:/home/public
[root@localhost~]#exportfs-au--全部都卸载。


1.2嵌入式目标系统NFS客户端的配置

Linux服务器设置好后,还需要对客户端进行相关配置。在嵌入式目标系统的LinuxShell下,执行如下命令来进行NFS共享目录挂载:

mount-tnfshostname(orIP):/directory/mount/point
具体例子:
Linux:mount-tnfs192.168.0.1:/home/work/mnt/nfs-onolock
Solaris:mount-Fnfs192.168.0.1:/home/work/mnt/nfs-onolock

MountNFS的其它可选参数:
Hardmount:NFSCLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,LINUX下有的版本仍然会给出一些提示),直到MOUNT上。
Softmount: 会在前台尝试与SERVER的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。

例如mount-Fnfs-ohard192.168.0.10:/nfs/nfs
对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关。例如你是想通过NFS来运行XPROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFSSERVER建立连接传输信息。另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程。

rsizewsize文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsizeand-wsize来进行设定。这两个参数的设定对于NFS的执行效能有较大的影响
bg在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止。(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)
fgbg正好相反,是默认的参数
nfsversn:设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFSVER3
mountport设定mount的端口
port根据serverexport出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定
timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输。默认值是7/10妙(0.7秒)。如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARDMOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问。
Intr:允许通知中断一个NFS调用。当服务器没有应答需要放弃的时候有用处。
udp:使用udp作为nfs的传输协议(NFSV2只支持UDP)
tcp使用tcp作为nfs的传输协议
namlen=n设定远程服务器所允许的最长文件名。这个值的默认是255
acregmin=n设定最小的在文件更新之前cache时间,默认是3
acregmax=n设定最大的在文件更新之前cache时间,默认是60
acdirmin=n:设定最小的在目录更新之前cache时间,默认是30
acdirmax=n设定最大的在目录更新之前cache时间,默认是60
actimeo=nacregminacregmaxacdirminacdirmax设定为同一个数值,默认是没有启用。
retry=n设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试。默认的数值是10000minutes
noac:关闭cache机制。

同时使用多个参数的方法mount-tnfs-otimeo=3,udp,hard192.168.0.30:/tmp/nfs


注意:NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突。比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误。一般服务器和客户端配置冲突的时候,会以服务器的配置为准。

ShowMount命令:
/usr/sbin/showmount:用在客户端查看服务器所共享的文件资源对于NFS的操作和查错有很大的帮助。该命令有2个参数:
-a:这个参数是一般在NFSSERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e:显示指定的NFSSERVERexport出来的目录。
例如:
showmount-e192.168.0.30


1.3设置开机自动挂载
如果我们手动mountNFS共享的文件,那么在我们重启之后,挂载点就失效了,需要重新进行挂载。我们可以在/etc/fstab文件里添加相关信息,让系统在开机时,自动挂载。


[root@localhost~]#more/etc/fstab

#Thisfileiseditedbyfstab-sync-see'manfstab-sync'fordetails

LABEL=//ext3defaults11

none/dev/ptsdevptsgid=5,mode=62000

none/dev/shmtmpfsdefaults00

none/procprocdefaults00

none/syssysfsdefaults00

LABEL=SWAP-sda2swapswapdefaults00

/dev/hdc/media/cdromautopamconsole,exec,noauto,managed00

/etc/fstab的格式如下:
fs_spec   fs_file  fs_type   fs_options  fs_dump fs_pass 

参数解释:

fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于nfs这个参数一般设置为这样:192.168.0.1:/NFS
fs_file:本地的挂载点
fs_type对于NFS来说这个字段只要设置成nfs就可以了
fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数。
fs_dump该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
fs_pass该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该1,其他文件系统应该2。若该文件系统无需在启动时扫描则设置该字段0

1.4其他的几个命令:
nfsstat:查看NFS的运行状态,对于调整NFS的运行有很大帮助
rpcinfo查看rpc执行信息,可以用于检测rpc运行情况的工具。
/var/lib/nfs/*tab NFS日志文件,etab,主要记录NFS共享出来的目录的完整权限设置值等,xtab,记录曾经连接此NFS主机的相关客户端数据

二.SAMBA配置

Samba主要用于WindowsLinux之间的文件共享Samba的配置比较多,下面从实用的角度做一些简单的说明。

2.1安装samba

一般的Linux都会安装samba程序,如果没有安装,可以去samba的官网下载安装软件,自己进行安装。网站地址:http://www.samba.org/

2.2简单说明

Samba有两个守护进程:smbdnmbd,它们是Samba的核心进程。

nmbd进程使其他计算机浏览Linux服务器.

Smbd进程在SMB服务请求到达时对它们进行处理,并且为使用或共享的资源进行协调.

Samba的的配置文件信息写在:/etc/samba/smb.conf文件中,如果我们要共享某些文件夹,可以在这个文件里添加相关的内容,在重启一下samba服务即可。先看一下文件的内容:

[root@localhost~]#more/etc/samba/smb.conf

......中间是一些其他的配置,我们就不看了,我们看最后一个配置....

#============================ShareDefinitions==============================

idmapuid=16777216-33554431

idmapgid=16777216-33554431

templateshell=/bin/false

winbindusedefaultdomain=no

[homes]

comment=HomeDirectories

browseable=no

writable=yes

;validusers=%S

;validusers=MYDOMAIN/%S

[printers]

comment=AllPrinters

path=/var/spool/samba

browseable=no

guestok=no

writable=no

printable=yes

#Un-commentthefollowingandcreatethenetlogondirectoryforDomainLogons

;[netlogon]

;comment=NetworkLogonService

;path=/var/lib/samba/netlogon

;guestok=yes

;writable=no

;sharemodes=no

#Un-commentthefollowingtoprovideaspecificrovingprofileshare

#thedefaultistousetheuser'shomedirectory

;[Profiles]

;path=/var/lib/samba/profiles

;browseable=no

;guestok=yes

#Apubliclyaccessibledirectory,butreadonly,exceptforpeoplein

#the"staff"group

;[public]

;comment=PublicStuff

;path=/home/samba

;public=yes

;writable=yes

;printable=no

;writelist=+staff

这段是关于添加共享的一些配置。

重启Samba服务

[root@localhostoracle]#/etc/rc.d/init.d/smbrestart

[root@localhostoracle]#servicesmbrestart

2.32个实例

2.3.1windows访问Linux共享

samba的配置文件(/etc/samba/smb.conf)里添加/u01的共享。把如下代码添加到sbm.conf就可以了:

[global]
workgroup=DAVIDDAI--这个自己随便写
sercurity=share--这里要注意,因为默认是USER

[public]--这个是设置的共享名,如果写其他的,你看到的共享名就是其他的

path=/u01

public=yes

writable=yes

guestok=yes

browseable=yes

重启Samba服务:

[root@localhostoracle]#servicesmbrestart

ShuttingdownSMBservices:[OK]

ShuttingdownNMBservices:[OK]

StartingSMBservices:[OK]

StartingNMBservices:[OK]

最后在window平台下输入://IP//192.168.1.21就可以访问Linux的共享内容了,并且还具有写的权限。

这里为了方便,没有按用户来进行设置,如果按用户的话要麻烦一点。所以安全性也比较差。

2.3.2Linux访问window的共享资源

这个配置就比较简单。只有2步:

(1)window下共享某个目录,Software,这个都是界面操作,就不多说了。

(2)linux下挂载这个目录

#mount-ousername=administrator,password=12345678//192.168.1.81/Software/mnt

或者

#mount-tsmbfs-ousername=administrator,password=12345678//192.168.1.81/Software/mnt

mount-tsmbfs-ousername=administrator,password=bailing520//192.168.1.81/Software/mnt

挂载成功就就可以在/mnt目录下查看window共享的内容了。

------------------------------------------------------------------------------

Bloghttp://blog.csdn.net/tianlesoftware

网上资源:http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1群:62697716();DBA2群:62697977

DBA3群:63306533;聊天群:40132017

<!--EndFragment-->
分享到:
评论

相关推荐

    ubuntu linux的虚拟机安装及NFS、Samba共享的设置.docx

    ..

    ubuntu linux的虚拟机安装及NFS、Samba共享的设置.pdf

    ..

    Linux操作系统中Samba服务介绍

    SAMBA主要的目的就是替换早期NFS服务,SAMBA服务不光是可以在UNIX,LINUX之间共享资 源,还可以与微软产品之间共享资源,主要的好处是它可以出现在微软的网络邻居上面,可以通过访问微软产品的方式访问UNIX和LINUX服务器...

    linux文件共享服务汇总

    1、samba服务器 Windows与Linux文件共享 (主局域网) 1.1samba服务器介绍 1.2samba服务的启动和进程 1.3Samba 配置 1.4samba服务器端常用命令 1.5Samba应用示例一:linux用户在window端访问宿主目录 1.6Samba应用...

    Linux下Samba的配置

     为了实现windows 和 Linux以及其它操作系统之间的资源共享,软件商推出nfs 和samba两种解决方案。因为市场上缺乏象pc-nfs那样的client工具,使得Linux和windows的资源共享变得复杂。Samba的出现攻克了 这一问题,...

    Samba文件共享SambaFilesharing.apk

    不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器...

    nfs离线安装包(含所有依赖-已亲测)

    Linux现有比较成熟的解决方案有两种,一种是NFS远程挂载,另一种是Samba共享目录。 4、其他说明: 目录的挂载于共享是基于RPC协议进行的,所以B服务器作为挂载方,也应同时具备RPC的应用功能,所以也应同时安装对应...

    Samba 共享服务器的搭建实验报告.docx

    Linux找到微软,也想把该协议用在window和Linux的文件共享上,可微软没有同意,于是Linux通过逆向方法实现了SMB协议,为了与SMB区分并将其取名为SAMBA协议。 ...

    LINUX期末考试试卷.doc

    一、NFS的安装与配置 共享/nfs/a1, 使192.168.28.0/...共享目录/samba/b2,仅用户bys和组gd成员可以访问,仅bys有可写的权限; 共享目录/samba/b3,任何人可以读写,但不同的用户只能访问创建的文件夹。 三、DHCP的使用

    samba-client-2.2.3a-6.i386

    不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器...

    在centos7系统上安装带图形界面的samba服务器

    Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与...

    02-CentOS7-搭建Samba文件共享服务器

    02-CentOS7-搭建Samba文件共享服务器,完成 Linux 与 windows 之间的共享;Linux 与 Linux 之间的共享 NFS;

    linux于windows下资源的共享

    Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 大家知道在Windows 网络中的每台...

    LINUX安装与配置简明手册

    本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...

    Linux三大共享文件的方法

    Linux三大共享文件的方法 Samba、NFS (Network File Service)、tftp

    企业级Linux服务攻略

    2.5.1 Linux客户端访问Samba共享 2.5.2 Windows客户端访问Samba共享 2.6 Samba的打印共享 2.7 Samba企业实战与应用 2.7.1 企业环境及需求 2.7.2 需求分析 2.7.3 解决方案 2.8 Samba排错 2.9 本章习题 2.10 smb.conf...

    linux从入门到精通

    全书内容包括Linux概述、Linux安装、Linux基本配置、桌面环境基本操作、Shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程...

    Linux从入门到精通

    全书内容包括Linux概述、Linux安装、Linux基本配置、桌面环境基本操作、Shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程...

    win2008自带nfs的配置

    windows与windows之间,windows与linux之间进行文件共享是一个非常重要的应用,以往都用samba服务或者第三方的nfs软件,现在win2008上自带nfs功能,本文详细介绍nfs的配置。

Global site tag (gtag.js) - Google Analytics