簡介:常用的文件共享方式有ftp、nsf和samba三種,其中ftp的客戶可以是任意平臺, nfs則是面向linux/unix用戶的,而samba是專門針對windows客戶的。
SAMBA是DEC開始開發的,用于在不同的Unix機器間的資源共享,開始使用udp協議。后來基于tcp重新開發后,效率有了很大提高。它使用的協議是SMB。samba自然主要用于在windows和unix之間共享資源。資源包括文件、打印機等等。
NFS是SUN開發的,用于UNIX/LINUX機器之間的資源共享。其設置相當容易,主要是配置/etc/exports文件,然后運行exportfs -a來共享出來。現在NFS已經成為UNIX/LINUX上的標配。
FTP的目的是在Inte.NET上共享文件而發明的一種協議,基于TCP/IP。世界上絕大多數系統都會有支持FTP的工具存在,通用性很強。
下面是三種服務器的對比情況:
服務器名稱 |
用戶客戶端平臺 |
使用范圍 |
服務端口 |
FTP |
Windows/linux/unix/macOS等 |
發布網站和文件共享 |
Tcp/21 |
NFS |
Linux/unix |
發布網站和文件共享 |
Tcp/2049 |
SAMBA |
Windows |
文件共享(網上鄰居) |
Tcp/445,tcp/139 |
本文主要介紹在Linux中部署NFS服務器并設置開機自動啟動nfs的過程,詳細內容請參考下文。
一、登陸Linux環境
二、安裝NFS服務
1、執行命令# yum install -y nfs-utils安裝該服務
2、啟動nfs和rpcbind服務
執行命令# systemctl start nfs和systemctl start rpcbind
3、創建需要共享的目錄
執行命令# mkdir /home/nfs/share
備注:執行mkdir加參數-p可以使用 -p 參數來創建多級文件夾。
4、設置nfs配置文件
執行指令# vim /etc/exports設置
備注:此處rw表示可讀寫,sync表示文件同時寫入硬盤和內存。
5、設置共享目錄權限
執行指令# chmod -R 777 /home/nfs/share
6、設置防火墻放行2049端口
執行指令# firewall-cmd --add-port=2049/tcp --permanent
使其生效# friewall-cmd --reload
7、重啟nfs和rpcbind服務
執行指令# systemctl restart nfs & systemctl restart rpcbind
三、客戶端訪問測試
1、創建需要掛載nfs的目錄
執行指令# # mkdir /home/attachments
2、添加遠程nfs服務的掛載目錄
執行指令# mount -t nfs 172.16.27.47:/home/nfs/share /home/attachments/
3、測試是否掛載成功
客戶端操作:
cd /home/attachments然后創建文件夾test2022
服務器端操作:
cd /home/nfs/share
執行指令ls查看能看到test2022文件夾證明掛載成功
四、設置客戶端開機自啟動nfs
1、設置/etc/rc.d/rc.local的權限
執行指令# chmod +x /etc/rc.d/rc.local
2、編寫nfs自啟動腳本
執行指令# vim /usr/local/nfsboot.sh
3、賦予nfs自啟動腳本可執行權限
執行指令# chmod +x /usr/local/nfsboot.sh
4、打開/etc/rc.d/rc.local文件,在末尾增加如下內容
5、重啟客戶端進行驗證
客戶端如下圖
服務器端如下圖