linux nfs网络文件共享

第一,首先在服务器上装 nfs-utils 和libs 两个rpm文件包可以 yum源进行yum -y install nfs-utils*

第二, 建立要共享的文件夹 如在 mkdir  /it  设置改文件共享 。

第三, 设置配置文件 /etc/exports   打开文件里面是空的 设置格式 /it   192.168.0.0(网段或者ip地址都可以)(权限)

數值 內容說明
rw
ro
該目錄分享的權限是可讀寫 (read-write) 或唯讀 (read-only),但最終能不能讀寫,還是與檔案系統的 rwx及身份有關。
sync
async
sync 代表資料會同步寫入到記憶體與硬碟中,async 則代表資料會先暫存於記憶體當中,而非直接寫入硬碟!
no_root_squash
root_squash
用戶端使用 NFS 檔案系統的帳號若為 root 時,系統該如何判斷這個帳號的身份?預設的情況下,用戶端 root 的身份會由
root_squash 的設定壓縮成 nfsnobody,如此對伺服器的系統會較有保障。但如果你想要開放用戶端使用 root
身份來操作伺服器的檔案系統,那麼這裡就得要開 no_root_squash 才行!
all_squash 不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名使用者,通常也就是 nobody(nfsnobody) 啦!
anonuid
anongid
anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名使用者的 UID 設定值,通常為
nobody(nfsnobody),但是你可以自行設定這個 UID 的值!當然,這個 UID 必需要存在於你的 /etc/passwd
當中!anonuid 指的是 UID 而 anongid 則是群組的 GID 囉。

這是幾個比較常見的權限參數,如果你有興趣玩其他的參數時,請自行 man exports 可以發現很多有趣的資料。接下來我們利用上述的幾個參數來實際思考一下幾個有趣的小習題:

例題一:讓 root 保有 root 的權限

我想將 /tmp 分享出去給大家使用,由於這個目錄本來就是大家都可以讀寫的,因此想讓所有的人都可以存取。此外,我要讓 root 寫入的檔案還是具有 root 的權限,那如何設計設定檔?

答:

[[email protected] ~]# vim /etc/exports# 任何人都可以用我的 /tmp ,用萬用字元來處理主機名稱,重點在 no_root_squash/tmp  *(rw,no_root_squash)

主機名稱可以使用萬用字元,上頭表示無論來自哪裡都可以使用我的 /tmp 這個目錄。再次提醒,『 *(rw,no_root_squash)
』這一串設定值中間是沒有空白字元的喔!而 /tmp 與 *(rw,no_root_squash) 則是有空白字元來隔開的!特別注意到那個 no_root_squash 的功能!在這個例子中,如果你是用戶端,而且你是以 root 的身份登入你的 Linux 主機,那麼當你 mount 上我這部主機的 /tmp
之後,你在該 mount 的目錄當中,將具有『root 的權限!』

例題二:同一目錄針對不同範圍開放不同權限

我要將一個公共的目錄 /home/public 公開出去,但是只有限定我的區域網路 192.168.100.0/24 這個網域且加入vbirdgroup (第一章的例題建立的群組) 的用戶才能夠讀寫,其他來源則只能讀取。

答:

[[email protected] ~]# mkdir /home/public[[email protected] ~]# setfacl -m g:vbirdgroup:rwx /home/public[[email protected] ~]# vim /etc/exports/tmp          *(rw,no_root_squash)/home/public  192.168.100.0/24(rw)    *(ro)# 繼續累加在後面,注意,我有將主機與網域分為兩段 (用空白隔開) 喔!

上面的例子說的是,當我的 IP 是在 192.168.100.0/24 這個網段的時候,那麼當我在 Client 端掛載了 Server 端的
/home/public
後,針對這個被我掛載的目錄我就具有可以讀寫的權限~至於如果我不是在這個網段之內,那麼這個目錄的資料我就僅能讀取而已,亦即為唯讀的屬性啦!

需要注意的是,萬用字元僅能用在主機名稱的分辨上面,IP 或網段就只能用 192.168.100.0/24 的狀況,不可以使用 192.168.100.* 喔!

例題三:僅給某個單一主機使用的目錄設定

我要將一個私人的目錄 /home/test 開放給 192.168.100.10 這個 Client 端的機器來使用時,該如何設定?假設使用者的身份是 dmtsai 才具有完整的權限時。

答:

[[email protected] ~]# mkdir /home/test[[email protected] ~]# setfacl -m u:dmtsai:rwx /home/test[[email protected] ~]# vim /etc/exports/tmp          *(rw,no_root_squash)
/home/public  192.168.100.0/24(rw)    *(ro)/home/test    192.168.100.10(rw)# 只要設定 IP 正確即可!

這樣就設定完成了!而且,只有 192.168.100.10 這部機器才能對 /home/test 這個目錄進行存取喔!

例題四:開放匿名登入的情況

我要讓 *.centos.vbird 網域的主機,登入我的 NFS 主機時,可以存取
/home/linux ,但是他們存資料的時候,我希望他們的 UID 與 GID 都變成 45 這個身份的使用者,假設我 NFS 伺服器上的
UID 45 與 GID 45 的用戶/群組名稱為 nfsanon。

答:

[[email protected] ~]# groupadd -g 45 nfsanon[[email protected] ~]# useradd -u 45 -g nfsanon nfsanon[[email protected] ~]# mkdir /home/linux[[email protected] ~]# setfacl -m u:nfsanon:rwx /home/linux[[email protected] ~]# vim /etc/exports/tmp          *(rw,no_root_squash)
/home/public  192.168.100.0/24(rw)    *(ro)
/home/test    192.168.100.10(rw)/home/linux   *.centos.vbird(rw,all_squash,anonuid=45,anongid=45)# 如果要開放匿名,那麼重點是 all_squash,並且要配合 anonuid 喔!

特別注意到那個 all_squash 與 anonuid, anongid 的功能!如此一來,當
clientlinux.centos.vbird 登入這部 NFS 主機,並且在 /home/linux
寫入檔案時,該檔案的所有人與所有群組,就會變成 /etc/passwd 裡面對應的 UID 為 45 的那個身份的使用者了!

第四 ,启动服务service nfs start  再次之前要启动service rpcbind  start
 可以再服务器端查看是否共享 exportfs -v

第五 ,安装客户端 rpm -q nfs-utils    没有安装的可以用yum源进行安装yum -y install  nfs-utils

第六 ,客户端进行挂载 mount -t nfs  192.168.0.132:/it    /mnt (挂载目录)

可以用df -h 进行查看是否挂载成功。

时间: 2024-08-07 20:44:56

linux nfs网络文件共享的相关文章

NFS网络文件共享存储服务器

NFS网络文件共享存储服务器 什么是NFS NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. 在企业集群架构的工作场景中,NFS网络文件系统一般被用来共享存储视频.图片.附件等静态资源文件,通常网站用户上的文件都会存放到NFS共享里.例如bbs产品的图片.附件头像等.然后前段所有的节点访问这些静态资源时都会读取NFS存储上

企业级NFS网络文件共享服务

虚拟实验: 操作系统:CentOS release 6.8 (Final) 虚拟机:VMware 任务:NFS网络文件共享服务 默认是没有安装NFS软件包,NFS主要功能是通过网络让不同的主机系统之间可以共享文件或目录.NFS网络文件系统很像Windows系统的网络共享.安全功能.网络驱动映射,而互联网中小型网站集群架构后端常用NFS进行数据共享. NFS服务器IP: 192.168.222.130 NFS客户端IP1: 192.168.222.138 NFS客户端IP2:192.168.222

NFS网络文件共享服务介绍及案例

1.NFS介绍 1.1.NFS概念描述 什么是NFS?NFS是Network File System的缩写,它的主要功能是通过网络让不同的主机系统之间可以彼此共享文件或者目.NFS客户端(一般为应用服务器,如Web)可以通过挂载(mount)的方式将NFS服务器端共享的数据文件目录挂载到NFS客户端本地系统中(就是某一个挂载点下).从NFS客户端的机器本地上看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上确是远端的服务器目录. 1.2.NFS历史 第一个网络文件系统

搭建NFS网络文件共享服务(干货)

先上干货: 以下是配置全过程(客户端和服务端对比)查看NFS软件包[[email protected] ~]# rpm -aq nfs-utils portmap rpcbind#这个命令比(yum grouplist)的更有效率 安装法一:[[email protected] ~]#yum groupinstall "NFS file server"也可以使用法二:[[email protected] ~]# yum install nfs-utils rpcbind -y来安装 客

【集群实战】NFS网络文件共享服务

1. NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文意思是网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下).从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录. NFS网络文件系统很像

NFS网络文件共享

NFS(Network File System) NFS在企业中的应用场景 企业集群架构中,NFS网络文件系统一般用来存储共享的视频.图片.附件等静态资源,一般把网站用户上传的文件都放到NFS共享里,例如图片.附加.头像,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资源.NFS是当前互联网系统架构中最常用的数据存储服务之一,特别是中小型网站公司应用频率更高.大公司除了使用NFS外,还可能使用更为复杂的分布式文件系统Moosefs,glusterfs,FastDFS等. 非常low的

NFS网络文件共享服务

NFS-网络文件系统,它的主要功能是通过网络让不同的主机系统之间可以彼此共享文件或目录. NFS在企业中得应用场景 在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频.图片.附件等静态资源文件(一般把网站用户上传的文件都放到NFS共享里,例如:BBS产品的图片.附件.头像,注意网站BBS程序不要放NFS共享里),NFS是当前互联网系统架构中最常用的数据存储服务之一,特别是中小型网站公司应用频率很高.大公司或门户除了使用NFS外,还可能会使用MFS.GFS.FASTFS,TFS等

NFS网络文件共享服务的配置和排错总结

1.什么是NFS? NFS,全名叫Network File System,中文叫网络文件系统,是Linux.UNIX系统的分布式文件系统的一个组成部分,可实现在不同网络上共享远程文件系统.NFS由Sun公 司开发,目前已经成为文件服务的一种标准之一.其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据, 所以可以把NFS看做是一个文件服务器.NFS缺点是其读写性能比本地硬盘要差一些. 2.使用yum安装nfs-utils.rpcbind 实验环境centos 6.6nfs-serve

linux NFS网络文件系统

一.NFS服务简介 NFS是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由sun公司开发,于1984年向外公布.功能:通过网络让不同的机器.不同的操作系统能够彼此分享个别数据,让应用程序在客户端通过网络访问位于服务端磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法. NFS的基本原则是"容许不同的客户端及服务端通过一组RPC共享相同的文件系统",它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享. NFS在文