linux上的三種主要的文件服務 FTP, NFS SAMBA
先對前兩者做基本介紹
NFS服務器: NFS主程序; nfs-utils
目的:是不同機器和不同服務器可以彼此共享文件,(目前linux中長用來作爲文件服務)
比較適合的環境是: 小公司或學校內部unix機器共享文件
它的啓動需要 啓動RPC服務才行,
工作原理: 在NFSserver上設置好一個共享目錄後,其他client 將其目錄掛載到自己系統的某個
掛載點上,只要權限夠就可以做任何的操作
RPC:reemount procedure call. 遠程過程調用 RPC主程序:portmap
作用:指定每個NFS功能對應的端口號,並且傳遞信息給客戶端,讓客戶端連接到正確的端口上。
RPC 客戶端和服務器端
提供RPC服務的軟件: portmap: 110/TCP 111/UDP
啓動NFS時 需要先啓動RPC, 若RPC重新啓動的話所有端口的數據都會消失
工作原理:(NFS啓動的時候會隨機取用數個端口,並主動到RPC上註冊, 因此RPC 知道每個端口對應的NFS功能,
RPC在111端口上監聽客戶端請求,並應答客戶端正確的端口)
傳輸的格式: 二進制格式 文本格式(xmlrpc)
守護進程: daemon
rpc.nfsd: 主要是管理client的hi否登入主機, 和登入者ID判別
rpc.mountd 主要是管理NFS的文件管理系統
所需主軟件的介紹:
NFS 主程序: 提供相關的說明文件和執行文件 NFS 的核心
軟件結構: /etc/exports 主配置文件, 沒有默認,可能需要自己vim 建立一個
/usr/sbin/exportfs 維護NFS共享資源的命令,server端的
/usr/sbin/showmount 這個主要用與客戶端來查看共享出來的資源
/var/lib/nfs/*tab 日誌放置的地方,
etab 記錄共享出來的目錄的完整權限設置值
xtab 記錄鏈接客戶端數據
RPC 主程序: 提供端口映射的, 啓動RPCserver之前都必須啓動portmap
NFS 服務器端: 組件 nfs-utils 只要安裝 就可以配置成服務器端了
先確保portmap status 已經running... (端口映射已經打開)
nfs啓動三個進程
nfsd(nfs服務進程) 監聽端口是 2049/tcp udp
mount 和客戶端掛載請求有關的
quotod (磁盤配額,指定客戶端在本地可用多大的空間)
mountd 和 quotod 的端口會隨時改變的(半隨機,是RPC給它隨機選取的)
不向讓那個其使用隨機端口的話 去定義在固定端口
/etc/sysconfig/nfs
配置文件的編輯 /etc/exports
格式: /path/to/somedir(共享獨立的磁盤分區或者目錄),CLTENT_ltist(客戶端列表)
例子:/tmp 192.168.1.0/24(ro) loaclhost(rw) *.ev.ncku.edu.tw(ro,sync)
多個客戶之間使用空白字符隔開 # 號開頭的都是註釋的內容
每個客戶端後面必須跟一個小括號,裏面定義了此客戶訪問特性, 如訪問權限等
例子: 172.16.0.0、16(ro,async) 192.16.0.0/24
showmount -e NFE_SERVER 查看NFS服務器共享(導出)的各文件系統
showmount -a NFE_SERVER 查看所有被掛載的文件系統極其掛載的客戶端對應關係列表
showmount -d NFE_SERVER 顯示所有導出的文件系統中被客戶端掛載了文件系統列表
exportfs命令:
-0 : 跟-r或-u 選項同時使用,表示重新掛載所有文件系統或取消導出所有文件系統
-r 重新導出
-u 取消導出
-v 顯示詳細信息
客戶端使用Mount命令掛載
mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /
文件系統導出屬性
ro:
rw:
sync:
async:
root_squash: 將root用戶映射爲來賓帳號
no_root_squash
all_aquash
anonuid, anongud
_rnetdev: 掛載的時候掛載不上就會取消