在Linux下,我們應用最廣泛的FTP服務程式是 vsftpd (Very Secure FTP Daemon),從名字我們也可以看出,其提供了非常安全的FTP服務。vsftpd 是一個 UNIX 類作業系統上運作的伺服器的名字,它可以運作在諸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支援很多其他的 FTP 伺服器不支援的特征。例如:
① 非常高的安全性需求 ②帶寬限制 ③建立虛拟使用者的可能性 ④高速 ...
可以說 vsftpd 給我們提供了一個快速的、穩定的且相當安全的FTP服務
在CentOS下預設沒有安裝 vsftpd 這個FTP程式
我們通過 yum install vsfptd 來進行安裝
說明:
服務的啟動配置檔案
安裝完之後在/etc/vsftpd/路徑下會存在三個配置檔案
/etc/vsftpd/vsftpd.conf 主配置檔案
/etc/vsftpd/ftpusers 指定哪些使用者不能通路FTP伺服器,這裡的使用者包括root在内的使用者。
/etc/vsftpd/user_list 指定的使用者是否可以通路ftp伺服器。
通過vsftpd.conf檔案中的userlist_deny的配置來決定配置中的使用者是否可以通路,
userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list
這三個配置允許檔案中的使用者通路FTP。
ftp服務有預設的配置檔案,将原配置檔案備份,重新編寫配置檔案
預設配置檔案說明:
參數
說明
anonymous_enable=YES
允許匿名使用者
local_enable=YES
允許使用本地使用者賬号登陸
write_enable=YES
允許ftp使用者寫資料
connect_from_port_20=YES
通過20端口傳輸資料
#anon_mkdir_write_enable=YES
是否允許匿名賬戶在FTP伺服器中建立目錄
xferlog_enable=YES
啟用上傳和下載下傳日志功能
#ascii_download_enable=YES
是否允許使用ASCII格式來上傳和下載下傳檔案
pam_service_name=vsftpd
/設定PAM認證服務的配置檔案名稱,該檔案存放在/etc/pam.d/目錄下.
userlist_enable=YES
使用者清單中的使用者是否允許登入FTP伺服器,預設是不允許
tcp_wrappers=YES
/使用tcp_wrqppers作為主機通路控制方式
其他的配置參數說明:
ftpd_banner=welcome to ftp service :設定連接配接伺服器後的歡迎資訊
idle_session_timeout=60 :限制遠端的客戶機連接配接後,所建立的控制連接配接,在多長時間沒有做任何的操作就會中斷(秒)
data_connection_timeout=120 :設定客戶機在進行資料傳輸時,設定空閑的資料中斷時間
accept_timeout=60 設定在多長時間後自動建立連接配接
connect_timeout=60 設定資料連接配接的最大激活時間,多長時間斷開,為别人所使用;
max_clients=200 指明伺服器總的客戶并發連接配接數為200
max_per_ip=3 指明每個客戶機的最大連接配接數為3
local_max_rate=50000(50kbytes/sec) 本地使用者最大傳輸速率限制
anon_max_rate=30000匿名使用者的最大傳輸速率限制
pasv_min_port=端口
pasv-max-prot=端口号 定義最大與最小端口,為0表示任意端口;為用戶端連接配接指明端口;
listen_address=IP位址 設定ftp服務來監聽的位址,用戶端可以用哪個位址來連接配接;
listen_port=端口号 設定FTP工作的端口号,預設的為21
local_root=path 無論哪個使用者都能登入的使用者,定義登入帳号的主目錄, 若沒有指定,則每一個使用者則進入到個人使用者主目錄;
chroot_local_user=yes/no 是否鎖定本地系統帳号使用者主目錄(所有);鎖定後,使用者隻能通路使用者的主目錄/home/user;
chroot_list_enable=yes/no 啟用不鎖定使用者在主目錄的名單
chroot_list_file=/etc/vsftpd/chroot_list指定清單檔案
userlist_enable=YES/NO 是否加載使用者清單檔案;
userlist_deny=YES 表示上面所加載的使用者允許登入;
userlist_file=/etc/vsftpd/user_list 指定清單檔案
注意:
在這裡要禁止匿名登陸anonymous_enable=NO
檢查配置是否正确:
第一步:打開windows上資料總管
在位址欄中是輸入伺服器位址,注意ftp格式
确定,輸入使用者名,和密碼進行登陸。

Samba是一個能讓Linux系統應用Microsoft網絡通訊協定的軟體,而SMB是Server Message Block的縮寫,即為伺服器消息塊,SMB主要是作為Microsoft的網絡通訊協定,後來Samba将SMB通信協定應用到了Linux系統上,就形成了現在的Samba軟體。後來微軟又把 SMB 改名為 CIFS(Common Internet File System),即公共 Internet 檔案系統,并且加入了許多新的功能,這樣一來,使得Samba具有了更強大的功能。
Samba最大的功能就是可以用于Linux與windows系統直接的檔案共享和列印共享,Samba既可以用于windows與Linux之間的檔案共享,也可以用于Linux與Linux之間的資源共享,由于NFS(網絡檔案系統)可以很好的完成Linux與Linux之間的資料共享,因而 Samba較多的用在了Linux與windows之間的資料共享上面。
SMB是基于客戶機/伺服器型的協定,因而一台Samba伺服器既可以充當檔案共享伺服器,也可以充當一個Samba的用戶端,例如,一台在Linux 下已經架設好的Samba伺服器,windows用戶端就可以通過SMB協定共享Samba伺服器上的資源檔案,同時,Samba伺服器也可以通路網絡中 其它windows系統或者Linux系統共享出來的檔案。
Samba在windows下使用的是NetBIOS協定,如果你要使用Linux下共享出來的檔案,請确認你的windows系統下是否安裝了NetBIOS協定。
組成Samba運作的有兩個服務,一個是SMB,另一個是NMB;SMB是Samba 的核心啟動服務,主要負責建立 Linux Samba伺服器與Samba客戶機之間的對話, 驗證使用者身份并提供對檔案和列印系統的通路,隻有SMB服務啟動,才能實作檔案的共享,監聽139 TCP端口;而NMB服務是負責解析用的,類似與DNS實作的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就隻能通過IP來通路共享檔案,監聽137和138 UDP端口。
例如,某台Samba伺服器的IP位址為10.0.0.163,對應的工作組名稱為davidsamba,那麼在Windows的IE浏覽器輸入下面兩條指令都可以通路共享檔案。其實這就是Windows下檢視Linux Samba伺服器共享檔案的方法。
\\10.0.0.163\共享目錄名稱
\\davidsamba\共享目錄名稱
Samba伺服器可實作如下功能:WINS和DNS服務; 網絡浏覽服務; Linux和Windows域之間的認證和授權; UNICODE字元集和域名映射;滿足CIFS協定的UNIX共享等。
安裝samba服務
samba服務預設配置檔案位置為/etc/samba/smb.conf 備份該檔案,重新寫配置檔案
配置檔案内容:
配置檔案參數說明:
[global]
這段是全局配置,是必段寫的。
workgroup
就是Windows中顯示的工作組
netbios name
就是在Windows中顯示出來的計算機名
server string
就是Samba伺服器說明,可以自己來定義;這個不是什麼重要的
security
這是驗證和登入方式,這裡我們用了share
用share,就是不用設定使用者和密碼了
[test]
這個在Windows中顯示出來是共享的目錄
path
可以設定要共享的目錄放在哪裡
writeable
是否可寫,這裡我設定為可寫
browseable
是否可以浏覽,可以;可以浏覽意味着,我們在工作組下能看到共享檔案夾。如果您不想顯示出來,那就設定為 browseable=no
guest ok
匿名使用者以guest身份是登入
說明:
關于授權nobody,我們先用id指令檢視了nobody使用者的資訊,發現他的使用者組也是nobody,我們要以這個為準。有些系統nobody使用者組并非是nobody 。
由于未涉及域名解析,是以不啟動nmb服務也可以通路
打開資料總管,右鍵單擊,選擇“添加網絡位置”
輸入 samba伺服器的位址
格式: \\samba伺服器位址\共享目錄名稱
說明:共享目錄名稱 為設定的局部變量名,我設定的為[test]。
點選下一步,設定顯示的名稱【可以選擇預設】
至此samba共享的檔案夾在winndows上添加上了 。
上傳測試
下載下傳檔案測試
安裝samba用戶端
挂載方式