您好,登錄后才能下訂單哦!
Linux 第50天 NFS&&Samba
時間:20180911
目錄
NFS (Network FileSystem)網絡文件系統
NFS原理
NFS配置
/etc/export里常用選項含義
Samba
原理
Samba安裝配置
主配置文件/etc/samba/smb.conf 配置文件中設定
創建samba用戶密碼
啟用samba服務
samba客戶端使用
總結
NFS (Network FileSystem)網絡文件系統
一個可以通過網絡在不同主機之間彼此實現資源共享。所以也可以簡單地將其認為是一個
文件服務器,NFS服務可以讓客戶端主機將網絡遠程的NFS服務器共享的目錄掛載到本地
端的機器當中,遠程主機目錄就和本地磁盤分區一樣,非常方便。
NFS原理
1. 主要借助RPC(Remote Procedure Call)來實現文件分享,RPC通過函數(遠程主機上
的函數)調用一部分功能由本地程序完成,另一部分由遠程主機上的函數完成,兩者共同
完成資源的共享。
2. NFS支持的功能很多,而每個功能都會使用不同的程序來啟動,每啟動一個功能就會
啟用一些端口來傳輸數據,因此NFS沒有固定的端口,而是隨機使用一些未被使用的小于
1024的端口來作為數據傳輸。但客戶端如何知道服務器端開啟的哪些端口是NFS端口?
3.要得知這些端口就需要遠程過程調用RPC服務,RPC主要功能就是指定每個NFS功能所
對應的端口號,并將端口反饋給客戶端,讓客戶端可以連接到正確的端口。RPC得知NFS
端口的原理是,當啟動NFS服務時會隨機取用數個端口,并主動的向RPC注冊端口,因此
RPC知道每個端口對應的NFS功能,RPC使用的是固定端口111來監聽客戶端的需求并向
客戶端反饋對應的端口,因此NFS啟動必須在RPC相關服務之后,否則會報錯。
NFS配置
主要用到的軟件包nfs-utils, rpcbind
安裝軟件
yum install -y rpcbind nfs-utils
NFS配置文件/etc/exports 內容格式為
所要共享的文件系統 客戶端選項
客戶端IP,FQDN或DOMAIN,NETWORK
如要將本地/data目錄共享給本地局域網其它用戶,并擁有讀寫權限
/data 172.20.48.202(rw,sync,no_root_squash)
至此簡單的服務端就配置完成
啟動服務
systemctl start rpcbind nfs
客戶端查詢服務端共享的文件系統有哪些
showmount -e SERVER_IP
查看到共享的目錄后就可以在本地掛載該共享目錄
mount -t nfs SERVER_IP:/path /path/mount_point
如
mount -t nfs 172.20.48.201:/tmp /mnt
此時客戶端便已經掛載好服務端的共享目錄,可以進行讀寫操作
NFS管理和維護的命令
exportfs 可以用來維護exports文件導出的文件系統表
exportfs -ar 重新導出所有的文件系統
exportfs -au 關閉導出的所有文件系統
exportfs -u FS 關閉指定導出的文件系統
/etc/export里常用選項含義
secure 默認選項,使用1024以下的TCP/IP端口實現NFS的連接。指定insecure可以禁用
async 改進性能,即異步寫入,但如果NFS進程未安全關閉就重啟服務可能會導致數據丟失
與之相反的有sync,但是當寫入時如果服務端未返回寫入完成,客戶端會一直處于等待
狀態
no_wdelay 關閉寫延遲。如果設置async,就會忽略此選項
nohide 將一個目錄掛載到另外一個目錄之上原來的目錄通常就會被隱藏起來,要禁用這
種行為,就需要用hide選項
no_subtree_check 子樹檢查,會執行一些不想忽略的安全檢查。默認是啟用的
no_auth_nlm 這個選項可以作為insecure_losts指定,它告訴NFS守護進程不要對加鎖
請求進行認證。如果擔心安全性問題,就要避免使用這個選項。默認選項是auth_nlm
或secure_locks
mp(mountpoint=path) 通過顯式地聲明這個選項,NFS要求掛載所導出的目錄
fsid=num 故障恢復時使用,詳細的可查看幫助文檔
用戶映射的選項
root_squash 不允許root用戶訪問掛載來的NFS卷
no_root_squash 與上述相對,,允許root訪問掛載的卷
all_squash 選項對于公共訪問的NFS卷來說非常有用,它會限制所有的UID和GID,只使
用匿名用戶。缺省設置是no_all_squash
anonuid和anongid 用來設置匿名的UID和GID修改成特定的用戶和組賬號
Samba
功能: 共享打印機,進行windows網絡上的主機名稱解析(NetBIOS name),設備分享
磁盤驅動器共享以及提供用戶登錄SAMBA的身份認證
原理: Samba使用的是NetBIOS通訊協議。NetBIOS即Network Basic Input/Output System
網絡的基本輸入輸出系統,它定義了一種軟件接口以及在應用程序和連接介質之間提供
通信接口的標準方法,作用是為局域網提供網絡以及其它特殊功能。samba通過NetBIOS
協議來獲取對方主機的NetBIOS name進而來定位該主機所在位置,然后根據對方主機
賦予的權限來存取可用的資源。實際中samba是通過兩個服務來控制這兩個步驟的,即nmb
和smb兩個服務。其中nmb是用來管理工作組和NetBIOS name解析,主要是通過UDP的137
和138兩個端口來負責名稱解析任務;smb主要用來管理samba主機所分享的目錄、文件或
者打印機等等,主要使用TCP協議的139和445兩個端口進行數據傳輸
Samba安裝配置
samba軟件構成: samba主程序、samba-client客戶端程序、samba-common其它公共程序
安裝samba
yum install -y samba
rpm -ql samba 查看其生成的文件
主配置文件/etc/samba/smb.conf 配置文件中有以下設定
全局設定: 設定的參數對全局有效
特定共享的設定:有以下幾個子共享設定
私有家目錄
打印機共享
自定義共享
私有家目錄設置
[homes] #私有家目錄的名稱用[]來表示
comment = Home Directories #描述信息
browseable = no #用戶家目錄是否允許訪問,這里通常設置為no
wriable = yes #是否允許寫入內容
;valid user=%S #;號表示注釋
;valid users = MYDOMAIN\%S
打印機共享設置
[printers]
comment = ALL Printers
path = /var/spool/samba
browseable = no
guest ok = no
wriable = no
printable = yes
自定義共享
[shared_name]
path = /path/share_dir #共享內容路徑
comment = Comment string #描述信息
guest ok = {yes|no} #是否允許訪客訪問
public = {yes|no} #是否公開,與guest ok類似
wriable = {yes|no} #是否可寫
read only = {yes|no} #是否只讀
write list = +GROUP_NAME #用戶指明可寫用戶列表,這里+表示加組名,
#表示組里面的用戶可寫
檢查配置文件是否有語法錯誤可以使用testparm命令
創建samba用戶密碼
這里只提到創建密碼而非賬號和密碼,因為samba用戶其實就是系統用戶,即在/etc/passwd
中定義的用戶,但是密碼并非系統用戶的密碼,而是samba自己的密碼文件,所以要為samba
用戶創建密碼,密碼的創建是通過smbpasswd命令來實現的
smbpasswd
-a 添加系統用戶為samba用戶
-d 禁用用戶
-e 啟用用戶
-x 刪除用戶
如添加系統用戶admin為samba用戶并為其設置密碼
smbpasswd -a admin
啟用samba服務
systemctl start nmb smb
samba客戶端使用
windows使用連接
打開我的電腦直接輸入\\IP便可連接共享
linux查看samba服務器使用smbclient命令
列出服務器所共享的信息
smbclient -L 172.20.48.201 -U admin
交互式數據訪問(目錄名為上條命令所查到的共享目錄)
smbclient //172.20.48.201/sharedir -U admin
將目錄掛載至本地
mount -t cifs -o username=admin,password=samba
//172.20.48.201/sharedir /mnt
mount.cifs -o username=admin,password=samba
//172.20.48.201/sharedir /mnt
此上兩行都是一行內容,即一條命令
總結:
NFS和Samba服務都是可以在其它服務器上將其所共享的目錄進行掛載
FTP服務如果想改服務器上的文件需要先將文件下載至本地更改完成后上傳才能完成修改
而NFS和Samba服務不同,可以直接在服務器上修改文件,不過如果多個用戶更改同一文
件是不可以的,會有鎖機制來保護文件,防止文件損壞
這里所講述的只是簡單的samba的文件共享,如虛擬用戶這里未使用,以及配置文件的
相關選項
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。