CentOS 6.3 FTP搭建,rpm安裝、配置、測試,本文使用虛擬帳號登錄方式

vsftpd提供了3種ftp登錄形式:

1、anonymous(匿名帳號)

使用anonymous是應用廣泛的一種FTP服務器.如果用戶在FTP服務器上沒有帳號,那麼用戶可以以anonymous爲用戶名,以自己的電子郵件地址爲密碼進行登錄.當匿名用戶登錄FTP服務器後,其登錄目錄爲匿名FTP服務器的根目錄/var/ftp.爲了減輕FTP服務器的負載,一般情況下,應關閉匿名帳號的上傳功能.

2、real(真實帳號)

real也稱爲本地帳號,就是以真實的用戶名和密碼進行登錄,但前提條件是用戶在FTP服務器上擁有自己的帳號.用真實帳號登錄後,其登錄的目錄爲用戶自己的目錄,該目錄在系統建立帳號時系統就自動創建.

3、guest(虛擬帳號)

如果用戶在FTP服務器上擁有帳號,但此帳號只能用於文件傳輸服務,那麼該帳號就是guest,guest是真實帳號的一種形式,它們的不同之處在於,geust登錄FTP服務器後,不能訪問除宿主目錄以外的內容

方法/步驟
1.使用yum安裝vsftp,省去依賴包麻煩

2.修改配置文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak //備份
vi /etc/vsftpd/vsftpd.conf //創建配置文件
列出我的配置,根據環境修改做適當修改,注意每行後面不可有空格

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
nopriv_user=ftpde
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
background=YES
guest_enable=YES
guest_username=ftpde
user_config_dir=/etc/vsftpd/user_config
max_clients=100
max_per_ip=20
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

3.創建本地用戶ftpde 以及chroot虛擬用戶映射文件
useradd ftpde //創建ftpde用戶,此用戶爲系統用戶
vi /etc/vsftpd/vsftpd.chroot_list
ftpde //該文件爲手動建立,每一行代表一個欲將虛擬用戶映射到本地賬戶的名稱

4.創建用戶賬戶文件passwd.file
該文件默認也不存在的,該文件用來存儲用戶賬戶以及明文密碼,格式爲每個賬戶兩行,第一行是用戶名,第二行是密碼,以此類推!
vi /etc/vsftpd/passwd.file
ftpdemo
123456

5.生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/passwd.file /etc/vsftpd/ftpuser_passwd.db

6.創建用戶配置文件
建立好賬戶後,需要爲每個用戶創建記錄FTP目錄位置、用戶權限等信息的配置文件
mkdir /etc/vsftpd/user_config
配置文件以FTP用戶名爲文件名稱,每個FTP用戶一個文件,例如ftedemo
vi /etc/vsftpd/user_config/ftpdemo
內容如下:
local_root=/data/FTP/ftpuser //該路徑對應的目錄必須存在,下一步創建
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

7.創建ftp用戶目錄,並賦讀/寫權限
mkdir -p /data/FTP/ftpdemo
FTP 用戶所映射到的系統帳戶必須對 FTP 用戶主目錄擁有相應的讀/寫權限。仍然以ftpdemo用戶爲例,本文中ftpdemo虛擬用戶是被映射到ftpde系統帳戶的,所以 ftpde 系統帳戶必須擁有對ftpdemo 的 FTP 主目錄/data/FTP/ftpuser 的讀/寫權限
chown -R ftpde:ftpde /data/FTP/ftpdemo/

8.修改Pam 認證模塊
備份原有配置文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
創建新配置文件
vi /etc/pam.d/vsftpd具體內容如下:
auth required pam_userdb.so db=/etc/vsftpd/ftpuser_passwd
account required pam_userdb.so db=/etc/vsftpd/ftpuser_passwd

9.修改防火牆
vi /etc/sysconfig/iptables
配置如下:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -p tcp –dport 6000:7000 -j ACCEPT
重起防火牆,使配置生郊
service iptables restart

10.關閉selinux
setenforce 0 //臨時關閉,重起系統失效
或者修改selinux配置關閉selinux
vi /etc/selinux/config
SELINUX=disable

發佈了19 篇原創文章 · 獲贊 8 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章