歡迎您光臨本站
註冊
首頁
搜尋
首頁
資訊
文檔
開源
問答
知識
專題
開源互助社區
>
文檔
>
Linux
Linux系列-Red Hat5平台下的FTP服務搭建
←手機掃碼閱讀
火星人
@ 2014-03-09 ,
reply:0
上次我們看到了基於
Red Hat5
平台下的
DHCP
服務的搭建,本次我們通過一個例子來看一下
Red Hat5
平台下的
FTP
服務的搭建.
FTP
(
File Transfer Protocol,
文件傳輸協議)是典型的
C/S
結構的應用層網路協議,需要有相應的客戶端和伺服器端軟體才能進行文件傳輸.本次我們以
vsftpd
伺服器端軟體為例.該軟體可以從站點
http://vsftpd.beasts.org/
中下載,在
RHEL5
系統中會自帶有
vsftpd
軟體.並且,安裝好
vsftpd
軟體包以後,將自動添加
vsftpd
系統服務,通過「
/etc/init.d/vsftpd
」腳本可以控制
vsftpd
服務的啟動和終止,而無需手動執行「
/usr/sbin/vsftpd
」程序.
下面我們來看看在
Red Hat5
上是如何通過
vsftpd
伺服器軟體,搭建
FTP
的.具體的概念以及配置步驟和注意事項,咱們邊做邊說.
第一部分:建立基於本地用戶的
vsftpd
服務
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1.
匿名
FTP
訪問匿名
FTP
伺服器時不需要密碼,只要使用用戶名「
ftp
」或「
anonymous
」即可通過驗證.當需要提供公開訪問的文件下載資源,或者讓用戶上傳一些無需保密的數據資料時,可以選擇搭建匿名
FTP
伺服器.搭建的步驟如下所示:
1>.
調整匿名上傳目錄許可權.
在
RHEL5
系統中,匿名用戶對應的系統帳戶為
ftp,
其宿主目錄為「
/var/ftp
」
,
該目錄也就是匿名用戶訪問
vsftpd
服務時所在的根目錄(可通過
anon_root
配置項更改).
說明:將其中
pub
子目錄的屬主修改為
ftp,
並保留其可寫許可權,可提供給匿名用戶上傳文件使用.我們給
/var/ftp/
創建一個文件到
/var/ftp/
目錄下,以便稍後的測試.
2>.
修改
vsftpd.conf
配置文件,開放匿名用戶訪問、上傳許可.
說明:如果希望匿名用戶在上傳目錄中能夠進行覆蓋、刪除、重命名文件等寫入操作,還可以添加「
anon_other_write_enable=YES
」的配置項.此項配置可能帶來安全性問題,所以應謹慎使用.
注意:由於匿名
FTP
根目錄「
/var/ftp/
」的默認許可權為
755
,因此不要將該目錄的屬主更改為
ftp,
否則匿名訪問時可能會報錯「
500 OOPS
:
vsftpd:refusing to run with writable anonymous root
」
,
此錯誤會導致訪問失敗.
3>.
重新啟動
vsftpd
服務
4>.
此時,我們到客戶機上訪問
FTP
伺服器,測試下載及上傳功能.
可以看到,用戶使用匿名用戶
FTP
,不但可登錄,並且可以下載
FTP
伺服器上的資源.
2.
本地用戶
FTP
Vsftpd
可以直接使用
Linux
系統的本地用戶作為
FTP
用戶,提供基於用戶名
/
密碼的登錄驗證.使用本地用戶登錄
FTP
伺服器后,默認將位於自己的宿主目錄中,且在宿主目錄中擁有讀寫許可權,並允許切換到其他目錄.使用
chroot_local_user
配置項可以將本地用戶禁錮在宿主目錄中(不允許切換到其他目錄),使用
local_root
配置項可以將本地用戶的
FTP
根目錄設置為同一個文件夾.
下面我們配置一個基於本地用戶並進行用戶限制的
FTP
伺服器步驟如下:
1>.
添加
FTP
測試用戶(也就是本地用戶).新建一個文件
file1
以便測試.
2>.
修改
vsftpd.conf
配置文件,開放本地用戶.
說明:配置「
chroot_local_user=YES
」項,可以有效提高
FTP
伺服器的安全性.否則,默認將允許用戶切換到伺服器中的「
/var/
」、「
/etc/
」、「
/boot/
」等宿主目錄以外的文件夾,可能帶來安風險.如果啟用「
local_root=/var/ftproot」
的配置選項時,本地用戶登錄該
FTP
伺服器后,根目錄將更改為指定的文件夾.該選項適用於
FTP
根目錄需要保持固定的情況.如果希望
vsftpd
服務
只對特定的本地用戶開放,可以使用
userlist_enable
、
userlist_deny
配置項並結合用戶列表文件「
/etc/vsftpd/user_list
」實現,此處不做演示.
3>.
重新啟動
vsftpd
服務.
4>.
在客戶端訪問
FTP
伺服器,測試下載及上傳功能.
可以看到用戶登錄和下載伺服器上的資源都沒有問題
第二部分:建立基於虛擬用戶的
vsftpd
服務
1.
建立虛擬用戶的用戶名
/
密碼資料庫
Vsftpd
服務的虛擬用戶資料庫是使用
Berkeley DB
格式的數據文件.建立該資料庫文件需要用到
db_load
命令工具,從
RHEL5
光碟中安裝
db4-utils-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />
4.3.29
-9.fc6.i386.rpm
軟體包后可獲得該工具.
建立文本格式的用戶名
/
密碼列表文件,奇數行為用戶名,偶數行為上一行中用戶所對應的密碼.
說明:此處建立了兩個密碼都為
123.com
的虛擬用戶
zpp001
和
zpp002.
然後用
db_load
工具將列表文件轉化為
DB
資料庫文件.
說明:在
db_load
命令中,「
-f
」選項用於指定用戶名
/
密碼列表文件,「
-T
」選項允許非
Berkeley DB
的應用程序使用從文本格式轉換的
DB
數據文件,「
-t hash
」選項指定讀取數據文件的基本方法.將文件
vusers.db
的許可權降底為
600
是為了安全性考慮.關於
db_load
命令的詳細說明可參閱「
/usr/share/doc/db4-utils-
4.3.29
/utility/db_load.html
」文件
.
2.
建立
FTP
訪問的根目錄及虛擬用戶對應的系統帳號
說明:
Vsftpd
虛擬用戶需要有一個對應的系統用戶帳號(該帳號不需要設置密碼及登錄
Shell
)
,
該用戶帳號的宿主目錄作為所有虛擬用戶登錄后的共同
FTP
根目錄.
3.
建立
PAM
認證文件
說明:
PAM
配置文件主要用於為程序提供用戶認證控制,
vsftpd
服務使用的默認
PAM
配置文件為「
/etc/pam.d/vsftpd
」
,s
可以參考該文件的格式建立新的
PAM
配置文件,用於虛擬用戶的認證控制.配置時請注意將
db
選項指定為先前建立的虛擬用戶數據文件
vusers
(省略
.db
擴展名)
4.
修改
vsftpd.conf
配置文件,添加虛擬用戶支持
在
vsftpd.conf
配置文件中,添加
guest_enable
、
guest_userusername
配置項,將訪問
FTP
服務的所有虛擬用戶對應到同一系統用戶帳號
virtual,
並修改
pam_service_name
配置項,指向上一步建立的
PAM
配置文件「
/etc/pam.d/vsftpd.vu
」.
說明:在
vsftpd
服務中,虛擬用戶賬戶默認作為匿名用戶處理以降低許可權,因此對應的許可權設置通常使用以
anon_
開頭的配置項,
5.
為不同的虛擬用戶建立獨立的配置文件
通過前面的四步,實際上已經可以重啟
vsftpd
並提供服務了,使用虛擬用戶帳號可以登錄
FTP
伺服器並下載文件.此步驟介紹如何為個別虛擬用戶設置不同的訪問許可權.
假如現在有這樣的要求:
zpp001
用戶只有瀏覽和下載的許可權,而
zpp002
可以瀏覽、下載、改名、刪除文件、建立和刪除目錄的許可權,可以按如下的步驟實現:
1>.
修改
vsftpd.conf
主配置文件,添加用戶配置目錄支持.
說明:添加此行配置,指定用戶配置目錄的位置.
2>.
為用戶
zpp001
和
zpp002
建立獨立的配置目錄及文件.
說明:如果需要禁用或者允許一部分虛擬用戶帳號,同樣可以使用「
/etc/vsftpd/user_list
」列表文件.需要注意的是,在「
/etc/vsftpd/ftpusers
」文件中加入虛擬用戶名,並不能禁用對應的系統帳號.
6.
重新啟動
vsftpd
服務
7
.使用虛擬用戶帳戶訪問
FTP
服務
說明:現在可以看到,虛擬用戶
zpp001
只有瀏覽和下載的許可權,並沒有創建目錄等其它許可權.
說明:可以看到,用戶
zpp002
不但有瀏覽和下載許可權,同時也具備創建目錄等
Tags:
linux
system
系統
Linux下使用SSH翻牆
非常全的linux面試筆試題及參考答案
Step by step安裝Xymon伺服器監控系統
本文將實現Windows Linux的異構環境
nagios配置——添加linux主機監控
讓Linux成為文件伺服器
linux系統日誌解析
如何讓Linux成為文件伺服器
Linux Kernel 2.6x 本地溢出代碼 今天測試了一下,效果不錯
使用bind搭建高可用DNS伺服器
Unix/Linux 系統自動化管理: 日誌管理篇
自己搭建yum伺服器,有更新時,客戶端不能自動讀取包列表
Linux系統上JSP環境搭建(apache與tomcat整合)詳細說明
Bugzilla + Oracle + Linux 安裝筆記
linux系統下手動創建oracle資料庫
nagios如何監控修改埠的服務
Linux平台下Ntop流量監測安裝,並實現Netflow全過程
用 Ruby on Rails 和 Action Web Service 創建 Web 服務
RHEL6.2平台利用KVM虛擬機搭建高可用負載均衡WEB集群(keepalived+lvs+iscsi+gfs)
《Debian伺服器設置入門》系列教程0.2.1版
Linux搭建自動虛擬主機
【Apache+Tomcat+Session+Memcache 高性能群集搭建】
在RHCS5中搭建RHCS HA 集群CMAN伺服器啟動不了的問題!
威盛EPIA CN系列Mini-ITX主板驅動在Linux下的安裝
RedHatLinux9平台下搭建LAMP(Linux+Apache+Mysql+PHP)
Linux下的文件共享全攻略系列之三:主流FTP伺服器Wu-ftpd入門指南
Linux中將memcached註冊為系統服務 .
icinga碰到服務問題!急
Debian伺服器設置入門》系列教程
搭建POSTFIX伺服器不能連接
[
火星人
]
Linux系列-Red Hat5平台下的FTP服務搭建
已經有
575
次圍觀
本文地址:
http://coctec.com/docs/linux/show-post-52171.html
熱門文章
VMware 虛擬機(linux)增加根目錄磁碟空間
Linux系統調用函數fork()用法詳解
Linux和Unix系統的關係和區別詳細介紹
linux下使用mount掛著網路磁碟
用ghost備份和還原Linux系統
Raspberry Pi:完美的家用伺服器
5款替代微軟Visio的開源免費軟體
5 款 Ubuntu 系統監控工具
如何查找 Linux 死機原因?
Df命令:查看Linux磁碟剩餘空間方法介紹
最新文章
CentOS使用expect批量遠程執行腳本和命令
3000字掃盲shell基礎知識(新手必備)
Linux 系統雙網卡綁定配置實現
在Ubuntu中實現人臉識別登錄的完整步驟
Linux下9種優秀的代碼比對工具推薦小結
Linux中fuser命令用法詳解
Linux系統使用Fuser命令的方法
Linux如何在Vim中更改顏色和主題
如何使用win10內置的linux系統啟動spring-boot項目
Linux 常用命令操作大全