Linux 、windows相互共享磁盤或文件夾
磁盤、目錄共享、掛載一般使用iSCSI、smb、NFS、NAS、NSA等服務方式向客戶端提供服務。如下等。。
① 存儲,為各服務器提供磁盤或目錄(客戶端為windows server ,centos、Redhat等服務器)
② windows 作為服務器,設立共享文件夾,外部系統作為客戶端訪問服務器的共享文件夾(外部設備可以是windows系統,linux 系統,macOS系統,ipad,iphone ,Android電視等)
③ linux作為服務器,設立共享目錄,其他外部系統訪問、掛載共享目錄(外部系統可為linux、windows、macOS 等)
一、windows smb共享,linux掛載
通過SMB協議可以實現主設備共享文件夾,及外部設備訪問共享文件夾。
外部設備可以是windows系統,linux 系統,macOS系統,ipad,iphone ,Android電視等。
1:[windows]開啟SMB協議
方法一:打開控制面板---程序---添加windows 功能。安裝SMB/CIFS文件共享支持,安裝完重啟計算機。
2:[windows]創建新的用戶賬號
目的:該用戶賬號是其他設備后續登錄并查看共享文件需要使用的。
打開控制面板->點擊“用戶賬戶”->點擊“管理其他賬戶”
3:[windows]共享文件夾
屬性-共享-共享-選擇要共享的賬號
找到你想要共享的文件夾,右鍵屬性,點擊“共享”選項卡,再點下面的“共享”按鈕
然后將剛剛創建的新的用戶賬號添加進去,并且可以修改用戶權限為“讀取”或者“讀取/寫入”,然后點擊共享,再點擊完成。
屬性-共享-高級共享
對共享的文件夾,右鍵屬性,點擊“共享”選項卡,再點擊“高級共享”,設置共享賬號的權限。
4、[windows]查看共享文件的主機在局域網內的IP地址
windows系統在命令行輸入ipconfig查看ip地址
5、[ipad]打開文件,連接主設備(服務器)
首先必須確保ipad和主設備在同一個局域網內。
然后在ipad中打開文件,點擊”連接服務器“
在連接服務器中輸入smb://步驟4得到的IP地址(如果外部設備是windows系統,則不需要帶smb),并點擊連接
6、[linux]掛載共享文件夾
yum install cifs-utils #安裝cifs工具包,cifs是liunx上的smb服務的客戶端。
創建被掛載的目錄:
mkdir windows
共享文件夾掛載到windows文件夾
mount -t cifs -o username=ankar,password=123456,vers=1.0,sec=ntlm //192.168.133.1/share windows
vi /etc/fstab #添加以下內容讓操作系統啟動后自動掛載windows機器上的共享文件夾到掛載點,/etc/.smbpasswd中寫用戶smb服務用戶名密碼
//192.168.133.1/share /data/windows cifs rw,credentials=/etc/.smbpasswd 0 0
mount -a #(讓系統重新掛載所有在/etc/fstab文件里面定義的掛載點)
二、linux nfs共享,windows 掛載
1、Linux安裝nfs服務,并配置/etc/exports,設置要共享的目錄,共享給哪些主機,及相關配置。
開啟NFS服務,防火墻相關配置。
rxportfs -r 刷新共享配置。
rxportfs -v 查看恭喜配置
exportfs命令:
功能說明 :NFS共享管理
server上執行此命令時,讀取/etc/exports中的信息,并將有關的directories(或filesystems)分享給NFS clients.
語法格式
exportfs [必要參數][選擇參數][目錄]
功能描述
exportfs 命令:用于管理NFS(Network File System)文件系統,在不直接編輯/etc/exports文件的情況下,可用exportfs來操作 命令屬性 磁盤管理 命令屬權限 超級用戶 普通用戶
-a 遞增式更新,對/etc/exports 增加或修改的部分進行掛載和卸載
-i<文件> 指定配置文件
-r 更新配置,重新讀取/etc/exports
-u 卸載指定目錄
-o 使用指定參數
-v 顯示共享詳細情況
【NFS共享的常用參數】/etc/exports
ro 只讀訪問
rw 讀寫訪問
sync 所有數據在請求時寫入共享
async NFS在寫入數據前可以相應請求
secure NFS通過1024以下的安全TCP/IP端口發送
insecure NFS通過1024以上的端口發送
wdelay 如果多個用戶要寫入NFS目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。
hide 在NFS共享目錄中不共享其子目錄
no_hide 共享NFS目錄的子目錄
subtree_check 如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)
no_subtree_check 和上面相對,不檢查父目錄權限
all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
no_all_squash 保留共享文件的UID和GID(默認)
root_squash root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
no_root_squash root用戶具有根目錄的完全管理訪問權限
anonuid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的UID
anongid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的GID
2、在Windows系統中,首先需要開啟NFS服務。打開控制面板,選擇“程序”,再選擇“打開或關閉Windows功能”。在Windows功能界面中,找到“適用于NFS的文件服務”選項,并勾選之。點擊“確定”按鈕,等待系統安裝NFS服務。
在此電腦上添加網絡映射共享磁盤。
需要讀寫權限的需要修改注冊表
通過修改注冊表將windows訪問NFS時的UID和GID改成0即可,步驟如下
1、在運行中輸入regedit,打開注冊表編輯器;
2、進入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default條目;
3、選擇新建----QWORD值,新建AnonymousUid,AnonymousGid兩個值,值為0;
4、重啟電腦 注冊表才會生效;重啟后修改共享目錄讀寫屬性。
不少公司既有windows服務器,也有linux服務器,二個系統之間的文件共享是一個剛需,下面分享幾種二種系統之間的文件共享方式,供大家參考。
常用的有以下幾種共享方式
通過SMB(Server Message Block)/CIFS(Common Internet File System)協議可以使Linux系統使用Windows文件服務器進行文件共享。
實現過程如下:
NFS(Network File System)是一種基于UNIX的文件共享協議,可以讓Linux系統與其他支持NFS的系統(如Linux、Unix等)進行文件共享。
實現過程如下:
FTP(File Transfer Protocol)是一種用于文件傳輸的標準協議,可以在Windows和Linux系統之間進行文件共享。
實現過程如下:
上面這二種是常用的windows和linux文件共享方式,但因為配置稍復雜,如果只是臨時傳輸文件,還有以下的解決方案
SSH(Secure Shell)是一個網絡協議,可以在網絡上對數據進行加密傳輸。一般Linux上都啟用了SSH服務,SFTP 為 SSH的一部分,是一種傳輸文件至服務器的安全方式.
實現過程比較簡單,windows可以使用SFTP客戶端,比如winscp可以直連Linux服務器進行文件傳輸。
上面分享了幾種Windows和Linux的文件共享方式,常用的SMB,NFS,FTP方式,以及可以作為臨時解決方案的SFTP方案。一些FTP的綠色軟件也可以作為臨時方案來傳輸文件。當然如果你知道有更好的文件共享方式,可以私信我。