標籤:centos 6.7 ftp安裝配置 vsftp
在RHEL/CentOS 系統中,預設的FTP軟體是vsftp,以下是安裝配置過程。
伺服器:balichvm(192.168.171.51)
1)、yum 安裝vsftpd軟體包
[[email protected] ~]# yum install vsftpd
2)、啟動vsftpd 服務
[[email protected] ~]# /etc/init.d/vsftpd start #啟動vsftpd服務
為 vsftpd 啟動 vsftpd: [確定]
[[email protected] ~]# ps aux |grep vsftpd
root 10054 0.0 0.0 52112 796 ? Ss 19:00 0:00 /usr/sbin/vsftpd/etc/vsftpd/vsftpd.conf
root 10057 0.0 0.0 103316 900 pts/1 S+ 19:00 0:00 grep vsftpd
[[email protected] ~]# netstat -lnp |grepvsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 10054/vsftpd
[[email protected] ~]#
此時,預設已經有一個ftp執行個體運行了,開放了匿名使用者存取,只可以讀取,不可以寫入。
vsftpd的設定檔是/etc/ vsftpd目錄下,與三個主要的檔案如下:
/etc/vsftpd/ ftpusers #可以訪問ftp伺服器的使用者
/etc/vsftpd/user_list #和vsftpd.conf的配置結合使用;
/etc/vsftpd/vsftpd.conf #vsftpd的主設定檔
預設開放匿名使用者存取的目錄是 /var/ftp/pud,那如何配置虛擬使用者訪問的?
3)、配置虛擬使用者訪問FTP服務。
(1)、首先在系統上建立一個系統使用者,不需要登入系統:
[[email protected] ~]# useradd virftp -s/sbin/nologin –M
(2)、建立用於存放虛擬使用者的密碼檔案:vsftpd_login,格式為單行是使用者,雙號是密碼:
[[email protected] ~]# vim/etc/vsftpd/vsftpd_login
ftp1
q1w2e3
ftp2
q1w2e3
ftp3
q1w2e3
[[email protected] ~]# chmod 600/etc/vsftpd/vsftpd_login ##修改許可權
(3)、使用db_load 產生能讓vsftpd 服務識別的二進位庫檔案
格式:db_load -T -t hash -f /etc/vsftpd/vsftpd_login/etc/vsftpd/vsftpd_login.db
[[email protected]~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
(4)、建立虛擬帳號,建立虛擬使用者的設定檔目錄:/etc/vsftpd/vsftpd_user_conf,然後在這個虛擬使用者的設定檔目錄下建立和/etc/vsftpd/vsftpd_login使用者檔案裡面的使用者相同的設定檔,如ftp1.
[[email protected]~]# mkdir /etc/vsftpd/vsftpd_user_conf ##虛擬使用者設定檔目錄
local_root=/home/virftp/ftp1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
local_max_rate=50000
(5)、建立ftp的共用目錄/data/vsftp/ftp1,並所有者和所屬組
[[email protected]~]# mkdir -p /home/virftp/bftp1
[[email protected]~]# chown -R virftp:virftp /home/virftp/ftp1
(6)、編輯/etc/pam.d/vsftpd檔案,指定虛擬使用者認證的檔案
auth sufficient /lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
把這兩行插入進去。
(7)、修改主設定檔/etc/vsftpd/vsftpd.conf,修改如下:
anonymous_enable=YES 修改為:anonymous_enable=NO #關閉匿名訪問
#anon_upload_enable=YES 修改為:anon_upload_enable=NO #關閉匿名上傳許可權
#anon_mkdir_write_enable=YES 修改為:anon_mkdir_write_enable=NO
#chroot_local_user=YES 修改為:chroot_local_user=YES #去掉#注釋
在後面加入如下配置:
guest_enable=YES #開啟來賓使用者
guest_username=virftp #映射的系統使用者
virtual_use_local_privs=YES #虛擬使用者使用系統使用者的許可權
user_config_dir=/etc/vsftpd/vsftpd_user_conf #虛擬使用者的設定檔目錄
(8)、重啟vsftpd服務。
[[email protected]~]# /etc/init.d/vsftpd restart
關閉 vsftpd: [確定]
為 vsftpd 啟動 vsftpd: [確定]
添加防火牆的規則:
[[email protected] src]# vim/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 20 -j ACCEPT
同時需要在/etc/sysconfig/iptables-config 檔案上修改如如下:
IPTABLES_MODULES="ip_conntrack_netbios_nsip_conntrack_ftp ip_nat_ftp"
如果不修改/etc/sysconfig/iptables-config ,會無法讀取目錄列表。
[[email protected] src]#/etc/init.d/iptables restart #重啟防火牆服務
iptables:將鏈設定為政策 ACCEPT:filter [確定]
iptables:清除防火牆規則: [確定]
iptables:正在卸載模組: [確定]
iptables:應用防火牆規則: [確定]
iptables:載入額外模組:ip_conntrack_netbios_nsip_conntrac[確定]ip_nat_ftp
這裡的配置還是比較簡單,可以根據各自的情況修改主設定檔/etc/vsftpd/vsftpd.conf.
CentOS 6.7 FTP安裝配置之vsftp