Ubuntu 16.04 搭建 NFS 文件共享服务器

Ubuntu 16.04 搭建 NFS 文件共享服务器,第1张

服务器端需要安装 nfs-kernel-server 软件包:

$ sudo apt-get update

$ sudo apt-get install nfs-kernel-server

默认情况下,NFS 服务器上定义了某个共享目录,则该目录及其子目录下的所有文件都可被访问。

出于对安全的考虑,客户端任何需要 超级用户 (即 root 用户,UID=0 &GID=0)权限的文件操作都默认映射到 UID=65534 和 GID=65534 的用户,即 Ubuntu 系统中的 nobody:nogroup。

例如客户端使用 root 权限在挂载的共享目录中创建文件时,该文件的 属主 属组 自动变为 nobody:nogroup ,而非 root:root

sudo mkdir -p /var/nfs/gernel

sudo mkdir -p /var/nfs/public

sudo chown nobody:nogroup /var/nfs/gernel

为了使 NFS 服务器定义的共享文件可被指定的客户端主机访问,需要在服务器端的 /etc/exports 文件中添加对应的记录。

该文件的格式如下:

Directory Host(Options ...) Host(Options) #comment

关于 /etc/exports 文件的详细语法格式可参考 man exports 。

文件示例:

列出 nfs 服务器上的共享目录

创建挂载点

sudo mkdir -p /mnt/nfs/gernel

sudo mkdir -p /mnt/nfs/public

sudo mkdir -p /mnt/nfs/starky

挂载远程目录

sudo mount 192.168.56.102:/var/nfs/gernel /mnt/nfs/gernel

sudo mount 192.168.56.102:/var/nfs/public /mnt/nfs/public

sudo mount 192.168.56.102:/home/starky /mnt/nfs/starky

权限测试

NFS 的权限设定基于 Linux 文件系统的权限管理,即客户端挂载远程共享目录后,会把它们当成本地磁盘目录一样对待,也是根据文件的属主(组)及其对应的权限设定来限制访问。

gernel 目录的属主(组)为 nobody:nogroup(65534:65534),所以虽然该目录为读写权限,非 root 用户无法执行新建操作。而 root 用户由于 NFS 默认的安全机制,会自动映射到 nobody:nogroup。

由于我在客户端和服务端都有一个名为 starky 的用户,且它们的 UID:GID 都为1000:1000,所以服务端的 /home/starky 目录可以直接被客户端的 starky 用户访问。且由于 no_root_squash 选项,通过 sudo 命令创建的文件其属主仍为 root(而不会再映射为 nobody)。

当然这会导致一些安全问题,比如多个客户端同时都有 UID(GID)为1000的用户(不管用户名是什么),则这些用户会共享服务端 /home/starky 目录里的文件权限。

可编辑 /etc/fstab 文件令挂载共享目录的 mount 操作成为系统的固定配置(手动输入的 mount 命令属于临时挂载,重启会自动卸载),使得系统重启后可以自动挂载远程文件系统。 /etc/fstab 文件的示例内容如下:

/etc/exports 文件的格式为: Directory Host(Options ...) Host(Options) #comment

其中的 Host 项用来指定可访问对应共享目录的主机,其格式可分为以下几种:

传输协议

最初的 NFSv2 由于性能原因使用 UDP 协议,虽然 NFS 添加了自己的 包序列重组 错误检查 功能,但 UDP 和 NFS 都不具备 阻塞控制 算法,所以在大型的互联网络环境中缺乏足够的性能。

NFSv3 提供了 UDP 和 TCP 协议之间的选择。NFSv4 只能使用 TCP 协议。

随着 CPU,内存等硬件设备和网络传输速度的提高,最初由于性能需求而倾向 UDP 协议的选择也变得不再必要。

State

NFSv2 和 NFSv3 是 无状态 的连接,服务端不会跟踪客户端对共享目录的挂载情况,而是使用 "cookie" 来记录一次成功的挂载。"cookie" 不会因为服务器重启而删除,可以用来在服务器挂掉之后保留客户端的连接信息。

NFSv4 是 有状态 的连接,客户端和服务端都会维护文件操作纪录及文件锁的状态。所以不再需要 "cookie" 的使用。

文件锁

早期版本的 NFS 协议(v2 &v3)由于是 无状态 的连接,它们并不清楚哪些主机正在使用哪些文件。但是文件锁的实现又需要获取状态信息。所以早期协议中的文件锁是独立于 NFS 实现的。

而 NFSv4 将文件锁的实现整合到了核心协议中,虽然此举增加了复杂度,但同时也解决了早期版本中的很多问题。

但是为了兼容使用 V2 和 V3 协议的客户端,独立的 locked statd 守护进程仍旧需要。

安全相关

NFS 协议最初在设计时并不关注安全性,NFSv4 通过引入对更强大的安全服务和身份验证的支持,加强了该协议的安全性。

传统的 NFS 协议大多使用 AUTH_SYS 验证方式,基于 UNIX 的用户和组标识。在这种方式下,客户端只需要发送自己的 UID 和 GID 并与服务器上的 /etc/passwd 文件内容作对比,以决定其拥有怎样的权限。

所以当多个客户端存在 UID 相同的用户时,这些用户会拥有相同的文件权限。更进一步,拥有 root 权限的用户可以通过 su 命令切换到任意 UID 登录,服务器会因此给予其对应 UID 的权限。

为了防止上面的问题出现,服务器可选择使用更健壮的验证机制比如 Kerberos 结合 NFS PRCSEC_GSS。

NFS 共享目录的访问控制基于 /etc/exports 文件中定义的主机名或 IP 地址。但是客户端很容易针对其身份和 IP 地址造假,这也会导致一些安全问题。

NFSv4 只使用 TCP 作为自己的传输协议,而且通常只开放 2049 端口进行数据传输。在配置防火墙时,除了放开 2049 端口的限制外,还要时刻注意数据传输的源地址和目标地址。

win10 系统默认不能挂载 NFS 共享目录,需要进入 控制面板 - 程序 - 程序和功能 - 启用或关闭 Windows 功能 ,勾选上 NFS 服务

UNIX and Linux System Administration Handbook, 4th Edition

How to Mount an NFS Share Using a Windows 10 Machine

问题一:怎么设置办公室几台电脑文件共享? 首先要确保在一个局域网内,右击我的电脑,属性,计算机名,更改,一般GHOST系统都是默认的WORKGROUP工作组。

你要共享哪个盘就进我的电脑,右击你要共享的盘符。

选择共享选项卡,有一行蓝字:如果您知道不安全方面```` 点击这行字,在弹出框中选择 只启用文件共享。然后看看属性界面的共享选项卡,把 在网络上共享这个文件夹 前面打上勾,确定。

搞定

问题二:家中两台电脑如何设置共享文件夹? 1 首先把两台电脑设置成相同的工作组名 我的电脑属性-计算机名-更改

2 两台电脑都添加IPX/SPX协议 具体做法 网上邻居属性-本地连接属性-选中INTERNET协议 TCP/IP 点安装,选择安装里面的协议 就可以了

最后如果A电脑要看B电脑的内容 把B电脑的文件共享,然后在A电脑的网上邻居里就可以看到B电脑共享的文件了

防火墙设置不当,需要打开B的防火墙的“允许局域网用户共享我的资源”的选项。

感谢的话别说了,给分就好,哈哈~

问题三:如何使几台电脑之间设置文件共享? 选择你要共享的文件夹--右键-俯共享--点那行蓝色的字“如果您知道在安全方面的风险,但又不想运行向导就共享文件,请单击此处。”--只启用文件共享--在网络上共享这个文件夹

问题四:两台win7电脑怎么共享一个文件夹 两台win7电脑共享一个文件夹:

1、所有客户机设在同一网段内,如都在192.168.1.*网段内(假设路由器IP是192.168.1.1的话);

方法:客户机设置静态IP,具体参见:jingyan.baidu/...8;

2、所有客户机设在同一工作组内,如都在WORKGROUP,方法参见:jingyan.baidu/...7;

3、WIN7取消默认的密码共享保护,方法:

1)点击桌面上的网络;

2)点击网络和共享中心;

3)点击更改高级共享设置;

4)右面鼠标拉到最下面,点关闭密码保护共享。

4、在其中一台WIN7上选择要共享的文件,鼠标右键选择共享――特定用户;

5、输入Everyone,点添加,选择Everyone,点共享;

6、在另一台WIN7上,打开桌面上的网络,选择对方计算机名,双击共享的文件夹即可访问文件夹里的内容。

问题五:几台电脑如何共享文件 1.启用来宾帐户。

“控制面板-用户帐户-启用来宾帐户”

2.安装NetBEUI协议。

查看“网上邻居”属性――查看“本地连接”属性――点击“安装”――查看 “协议”――看其中NetBEUI协议是否存在,如果存在则安装这个协议,如果不存在则表明已经安装了该 协议,在Winxp系统默认的情况下该协议是已经安装好了的。

3.查看本地安全策略设置是否禁用了GUEST账号。

控制面板――管理工具――本地安全策略――用户权利指派――查看“拒绝从网络访问这台计算机”项的属性――看里面是否有GUEST帐户,如果有就把它删除掉。

4.设置共享文件夹。

你如果不设置共享文件夹的话,网内的其它机器无法访问到你的机器。设置文件夹共享的方法有三种,第一种是:“工具--文件夹选项--查看--使用简单文件夹共享”。这样设置后,其他用户只能以Guest用户的身份访问你共享的文件或者是文件夹。第二种方法是:“控制面板--管理工具--计算机管理”,在“计算机管理”这个对话框中,依次点击“文件夹共享--共享”,然后在右键中选择“新建共享”即可。第三种方法最简单,直接在你想要共享的文件夹上点击右键,通过“共享和安全”选项即可设置共享。

5.建立工作组。

在Windows桌面上用右键点击“我的电脑”,选择“属性”,然后单击“计算机名”选项卡,看看该选项卡中有没有出现你的局域网工作组名称,如“workgroup”等。然后单击“网络 ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络的一部分,用它连接到其他工作着的计算机”;单击“下一步”,选择“公司使用没有域的网络”;单击“下一步”按钮,然后输入你的局域网的工作组名,这里我建议大家用“BROADVIEW”,再次单击“下一步”按钮,最后单击“完成”按钮完成设置。重新启动计算机后,局域网内的计算机就可以互访了。

6.查看“计算机管理”是否启用来宾帐户。

控制面版――计算机管理――本地用户和组――用户――启用来宾帐户。机器重新启动后就可以了。

如果大家想提高访问别人机器的速度的话,还可以做一些相关操作:控制面版――管理工具――服务――Task Scheduler――属性――启动方式改为手动,这样就可以了。

7.用户权利指派。

“控制面板--管理工具--本地安全策略”,在“本地安全策略”对话框中,依次选择“本地策略--用户权利指派”,在右边的选项中依次对“从网络 *** 问这台计算机”和“拒绝从网络 *** 问这台计算机”这两个选项进行设置。

“从网络 *** 问这台计算机”选项需要将guest用户和everyone添加进去;“拒绝从网络 *** 问这台计算机”需要将被拒绝的所有用户删除掉,默认情况下guest是被拒绝访问的。

上述方法的所有步骤并不是设置局域网都必须进行的,因为有些步骤在默认情况下已经设置。但是只要你的局域网出现了不能访问的现象,通过上述设置肯定能保证局域网的畅通

问题六:如何实现多台电脑互联共享文件 复制的

windows 2000文件共享1.访问Windows 2000 中的非共享资源

我们公司用的是局域网,系统有 Windows 98 和Windows 2000 Professional,在 Windows 98 下只要把控制面板的密码项里的“远程管理服务”启用,到其他计算机上输入密码就可远程访问其所有资源,但是在 Windows 2000 下打开“网上邻居”选中某一个计算机,属性里却没有“管理程序”这一项,同样在 Windows 98 里也不能访问到 Windows 2000 系统里的非共享资源,如何解决?

答:“远程管理服务”只有在 Windows 95(安装Windows 95 远程管理服务后)、Windows 98 中才有,而且只能管理共享资源,不能管理其他内容。在Windows 2000/2003 Server 中使用“终端服务”,在Windows XP 中使用远程桌面,均可对计算机进行完全管理。若欲远程管理 Windows 2000 Professional,可以通过安装远程管理软件如 WinVNC、pcAnywhere等来实现。

2.查看谁正在使用共享资源

在 Windows NT 服务器上,可以通过“控制面板→服务器”查看内部网络上哪些计算机正在使用该服务器的共享,并可以随意停止共享,感觉很方便。在 Windows 2000 上好像没有这个功能,不知道哪些用户正在使用共享文件夹。请问,如何查看谁正在使用共享资源呢?

答:在 Windows 2000/XP 中都有这个功能。依次单击“计算机管理”→“系统工具→共享文件夹→会话”,可以查看正在连接到本机访问共享资源的用户。

3.访问网上邻居时显示“服务器没有事务响应”

公司新搭建了一个局域网络,大约 3 00 个节点。中心交换机采用“华为”三层可网管交换机,并划分了 VLAN。每部门为一个 VLAN,每个 VLA为一个网段,同一网段的计算机为一个工作组,计算机系统全是 Windows 2000。网络刚开始运行时,网络上邻居访问很顺利,但近来出了问题,在访问时经常显示“服务器没有事务响应”提示,但这种问题是随机的。请问这是什么原因?

答:估计故障可能是由冲击波、震荡波或其他蠕虫病毒所导致。在 Windows 2000/XP 网络中,实现文件和打印共享时,往往会借助“139”和“445端口进行通讯,并且只有当445 端口无响应时,才会使用 139 端口。因此,在使用文件服务器和打印服务器的公司内部网络或对等网络环境中,都会使用 139 和 445 端口。需要注意的是,一些蠕虫病毒也正是采用这两个端口进行病毒的传播,导致网络服务失败,甚至造成系统瘫痪和数据丢失的恶果。建议在三层交换机和 所 有 计算 机上 均 关闭135、139、445、69、44444、5554”几个端口,以防止病毒的攻击。若欲实现文件资源共享时,可以借助 FTP 服务器;若欲文件打印共享,则可以采用 I打印方式。从而,既保证了不同VLAN间的资源共享又避免了潜在的网络安全问题。

4.隔几天就会无法打开“网上邻居”

公司局域网通过一个 24 口的 D-Link 交换机连在一起,但最近隔几天就会出现无法打开“网上邻居”,但共享打印文件和搜索计算机能找到网上邻居的计算机。现在解决办法是把交换机的电源关闭 20 多分钟后,再接上电源,就一切正常了。每次都要如此操作,非常麻烦,请问这是什么原因造成的,该怎样解决?

答:故障原因可能是以下几个方面:

接地不良或者静电累积。检查......>>

问题七:两台家庭电脑如何实行共享文件? 两台电脑都能上网?那很好办了,把你要共享的文件打开共享,然后点开始,运行&q互ot\\+IP回车,就行了....

如果你的电脑是通过路由自动获得IP的,那么你可以 用ipcofing -all命令来查看你的IP

然后用上面的方法就可以了

你用的是路由共享上网,要两台机子连机玩游戏??

你已经有路由了,只要把游戏设置好就行了....

问题八:如何实现两台电脑文件共享,最简单的方法是怎么样? 在你需要共享的文件上点击右键-属性-共享,勾选在网络上共享这个文件。查出你本机的ip

地址及对方电脑的ip地址,如果你的机器上有防火墙的话将对方ip设定为白名单,然后就可以在对方机子上点击开始运行,然后输入\\你的ip地址,然后点回车,如果没有意外的话在对方机子上就可以看到你机子上的共享文件了。

问题九:同一个路由器的两台电脑怎么共享文件 先把局域网连上,也就是添加一下两台电脑的协议,(网上邻居---右键属性---本地连接---右键属性---添加---协议---选最长的那一个)添加成功后,双击网上邻居,然后查看工作组计算机,(必须在一个组,比如:work workgroup等),查一下如果有了对方的计算机名俯,共享一下你们需要共享的磁盘,接下来就可以共享文件了。

问题十:怎样让家中的两台电脑实现文件共享? 使用的是无线路由器吧,如果是这样,你的两台电脑已经是在小局域网里了。通过设置共享就可实现进入另一台电脑读存文件。

要想共享:首先要对需要共享的内容进行设置,比如想让某台机器的E盘共享,则打开我的电脑,在E盘上右键单击,选择共享选项,在打开的界面中在共享前打钩(视操作系统的不同),然后通过网络邻居搜索到该电脑,也就能看到共享的E盘了。

但这样的设置还仅限于读取,要想取得写入的权利,还需要以下操作,在文件夹选项中取消简单视图(现在没使用XP,所以说法不大准确了),然后在我的电脑、在E盘上右键,选择共享与安全选项,在everyone的用户下权利选项中把所有选项都打上钩,就可以了。两台机器基本都是这样设置。要注意的是,防火墙尽量不要开,系统服务中要允许来宾账户等,具体可以网上搜,也可qq问我513850560

要想保证安全:首先,你的无线路由登录名、密码都应该重设,避免使用默认,登录密码在不影响个人使用便利的情况下复杂程度高一点。具体操作:打开浏览器,网址中输入192.168.1.1,并登陆路由器,在路由器设置界面中按照说明书操作即可。

其次,进一步的安全措施是对共享的访问权限进行设置,设定只有指定账户可以访问,并设置密码,但这在家庭局域网中必要性不大。

希望以上这些对你有用。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/75391.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-03
下一篇2023-03-03

发表评论

登录后才能评论

评论列表(0条)

    保存