NFS,samba,vsftpd的基本使用

一.NFS介紹

NFS(Network File System),全名叫做網絡文件系統,是由SUN公司研發的。顧名思義,簡單理解就是通過網絡互聯,將本地的文件系統共享出去,從而實現資源的共享,NFS監聽在TCP的2049端口上。當涉及到主機之間的通信時,就會存在安全問題,于是為了安全考慮,主動提出請求的一方(客戶端)需要提供一些基本信息來認證,這些信息是需要服務器端程序來管理的,在linux中對這些信息的管理可以由服務器程序自身去管理,也可以委托RPC來管理,RPC來管理通信雙方的基本信息,在CentOS7中由rpcbind服務提供,所以要想在CentOS7上實現NFS,需要同時啟動rpcbind服務。

安裝與配置

要想安裝NFS,需要安裝nfs-utils以及rpcbind

  1. 安裝軟件

安裝.png

安裝測試結果:

安裝測試結果.png

2.NFS的配置

(1)NFS服務器通過讀取/etc/exports配置文件來讀取哪些客戶端可以訪問哪些文件系統路徑,該文件書寫的注意事項:

以#開頭的是注釋行
每個共享文件系統需要獨立定義一行

客戶端主機之間需要使用空格隔開

客戶端主機的定義可以是一個網段,單臺主機,主機名

定義方式為:

共享路徑 客戶端1(選項) 客戶端2(選項)…

(2)常用的選項:

ro:只讀共享
sync:同步寫操作
wdelay:延遲寫操作
rw:讀寫共享
async:異步寫操作
root_sqaush:屏蔽遠程root權限
no_root_squash:不屏蔽遠程root權限
all_squash:屏蔽所有遠程用戶權限

注意:默認情況下,NFS會屏蔽root權限,映射為NFS的匿名帳號,如果要保留root用戶權限,則要根據選項來控制。

(3)服務器端配置示例:將本機192.168.88.148的/data/share共享給192.168.88.132主機

a.在服務器端創建目錄

創建目錄.png

b.編輯配置文件

編輯.png

c.啟動并查看服務是否正常啟動

啟動.png

測試.png

d.在客戶端掛載測試

掛載.png

e.在客戶端創建文件

創建文件.png

(4)NFS的客戶端工具

exportfs:可以使用這個命令以root身份在不重啟服務的情況下選擇共享或者取消共享目錄

常用選項:

-r:重讀/etc/exports配置文件
-a:all的意思,在取消共享時可以使用這個選項
-u:取消共享
-v:顯示詳細信息

nfsstat:查看NFS狀態信息

常用選項:

-s:顯示服務器端狀態信息
-c:顯示客戶端狀態信息
-m:顯示掛載信息
-l:以列變的形式顯示信息

二.Samba

Samba是一個在Linux,UNIX,windows之間實現文件共享的軟件,通過SMB/CIFS協議提供安全穩定的文件共享服務,samba由smbd以及nmbd兩個守護進程組成,smbd進程為客戶端提供文件共享服務,還負責用戶權限的認證,smbd監聽的是TCP的139和445端口。而nmbd進程提供NetBIOS名稱服務,從而滿足CIFS的共享環境,該進程監聽與UDP的137號端口。

  1. 安裝samba

安裝1.png

2.配置服務

a.還是以/data/share作為測試目錄

b.修改samba的配置文件/etc/samba/smb.conf,可以參考自帶的配置示例進行配置

修改配置.png

c.創建訪問帳號

創建用戶.png

d.測試,

啟動解雇.png

e.使用客戶端連接測試

測試.png

掛載測試使用:

掛載測試.png

3.關于smbpasswd的使用

smbpasswd用于關于samba用戶

常用選項:

-a:添加用戶并設置密碼
-x:刪除用戶
-d:禁用samba用戶
-e:啟用samba用戶

三.vsftpd實現文件共享

vsftpd是Very Secure FTP的簡寫,是一個安全的FTP軟件,vsftpd的安全性體現在:進程之間是分離的,進程運行時均已最小的權限運行,大多數進程都使用了chroot進行了禁錮,能防止客戶端進行非法的訪問。而FTP協議本身就十分特別,體現在其其命令連接和數據連接使用的并不是同一個連接。當客戶端向服務器端請求資源時。服務器會使用21號端口進行相應,該端口只負責處理請求命令,而最終服務器端進行數據傳輸時采用的時另一個端口,數據端口取決與服務器端運行的模式。服務器端有兩種運行模式:主動模式和被動模式。

1.FTP的工作模式

(1)主動模式(Active Mode)

第一步:客戶端打開大于1024的端口與服務器的21號端口進行通信,建立命令連接
第二步:當需要進行數據傳輸時,客戶端會在打開一個大于1024的端口,并通過命令連接將次端口號告知服務器,以后的數據連接就通過次端口號進行傳輸
第三步:服務器端收到這個端口號之后,會進行三次握手,然后就進行數據傳輸

(2)被動模式(Passive Mode)

第一步:客戶端打開大于1024的端口號與服務器21號端口建立連接
第二步:當要進行數據傳輸時,客戶端提出數據傳輸請求
第三步:服務器端隨機打開一個端口,并通過命令連接將此端口號告知客戶端
第四步:客戶端收到端口號之后,在隨機打開一個端口與此前服務器端打開的端口建立連接,完成三次握手之后就進行數據傳輸。

現在采用的較多的是被動模式,因此客戶端主機通常受到防火墻的保護。

2.vsftpd的登錄方式

vsftpd的登錄方式有三種:本地賬戶登錄,匿名賬戶登錄,虛擬賬戶登錄

本地賬戶登錄:需要使用系統賬戶對應的用戶名和密碼才能進行登錄
匿名賬戶登錄:不需要輸入賬戶和密碼進行認證
虛擬賬戶登錄:將來訪問的用戶映射為系統guest_username指定的用戶

vsftpd可以使用/etc/vsftpd/ftpusers做黑名單,使用/etc/vsftpd/userlist做白名單控制,格式為每行一個用戶名。

3.vsftpd的安裝與配置

a.安裝vsftpd

安裝.png

b.修改/etc/vsftpd目錄下的配置文件

常用的配置選項:

listen=NO :是否監聽端口,獨立運行守護進程

listen_por=21 : 監聽用于建立命令連接的端口
write_enable=YES :是否允許寫操作
download_enable=YES:是否允許下載
connect_from_port_20=YES:使用主動模式,啟用20端口
pasv_enable=YES : 是否啟用被動模式
pasv_max_port=24600:被動模式的連接的最大端口號
pasv_min_port=24500:被動模式的連接的最小端口號
userlist_enable=YES:是否啟用userlist用戶列表
userlist_deny=YES:是否禁用userlist文件中的用戶訪問
max_client=2000 : 最大允許的客戶端連接數
max_per_ip=0:每個客戶端的最大連接限制,0代表無限制
tcp_wrapper=YES:是否啟用tcp_wrapper
guest_enable=YES:是否允許來賓賬戶登錄
guest_username=ftp:匿名賬戶登錄時映射為的用戶名
user_config_dir=/etc/vsftpd/ : 指定配置文件的存放路徑
anonymous_enable=YES:是否允許匿名賬戶登錄
anon_root=/var/ftp:設置匿名訪問的根路徑
anon_upload_enable=YES:是否允許匿名用戶上傳文件
anon_mkdir_write_enable=YES:是否允許匿名用戶創建目錄
anon_other_write_enable=YES:是否運行匿名用戶修改其他用戶的文件
local_enable=YES:是否啟用本機賬戶FTP
local_max_rate=0:本地賬戶的傳輸的速率
local_umask=077:本地賬戶的權限遮罩碼
chroot_local_user=YES:是否禁錮本地賬戶的家目錄
local_root=/ftp/ :本地賬戶訪問的家目錄

e.啟動服務并測試

啟動.png

測試成功.png

至此,vsftpd已經可以使用。

原創文章,作者:zhangbao,如若轉載,請注明出處:http://www.www58058.com/65792

(1)
zhangbaozhangbao
上一篇 2017-01-04 16:43
下一篇 2017-01-04 18:50

相關推薦

  • http狀態碼大全

    狀態值:100 客戶端應當繼續發送請求。這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕??蛻舳藨斃^續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。服務器必須在請求完成后向客戶端發送一個最終響應。 狀態值:101 服務器已經理解了客戶端的請求,并將通過Upgrade 消息頭通知客戶端采用不同的協議來完成這個請求。在發送完這個…

    Linux干貨 2016-11-01
  • 磁盤分區及初步文件系統

    磁盤分區 磁盤分區有兩種方式:     MBR, GPT      MBR: Master Boot Record,1982年,使用32位表示扇區數 ,分區不超過2T      分區時按柱面…

    Linux干貨 2016-08-30
  • bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示

    1)bash的工作特性之命令執行狀態返回值; 在 Linux 下,任意一個命令執行結束之后,bash都會返回0-255之間的數值以表示命令執行成功與否;其返回值保存于bash的特殊變量$?中; 其中0表示:執行成功;1-255表示執行錯誤; 例如: [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks…

    Linux干貨 2016-11-06
  • 流編輯器Sed(Stream Edit)詳解

    流編輯器Sed(Stream Edit)詳解       Grep 、sed 和awk并稱為文本三劍客。使用Grep就可以很好的實現文本查找的功能,而且簡單有效。然而其卻無法直接對其進行編輯,sed的出現便解決了這一問題。 Sed被稱為流編輯器,它是一種新型的非交互式的文本編輯器,它逐行處理文件或輸入,并將結…

    Linux干貨 2016-08-22
  • linux 基礎目錄配置及用途說明

    bin -> usr/bin 一般存放root和一般用戶都可以使用的指令例如:cat, chmod, chown, date, mv, mkdir, cp, bash 等等常用的指令,同時還存放著單人維護模式下還能夠被使用的指令。 boot  這個目錄主要放置開機會使用到的文件,包括linux核心文件以及開機選單和開機所需要的配置文件。 de…

    Linux干貨 2017-08-19
  • 高級文件系統管理

    高級文件系統管理 本章內容 ? 設定文件系統配額 ? 設定和管理軟RAID設備 ? 配置邏輯卷 ? 設定LVM快照 ? btrfs文件系統 配置配額系統 ?綜述 ? 在內核中執行 ? 以文件系統為單位啟用 ? 對不同組或者用戶的策略不同    &nb…

    Linux干貨 2016-09-01

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-29 17:23

    非常棒的總結,再接再勵。

欧美性久久久久