基於redhat6
安裝vsftp軟件
yum install vsftpd
我們這裏安裝的版本是vsftpd-2.2.2-6.el6.i686
因爲我們要建立匿名賬戶的vsftpd所以還要安裝db4和db4_utils兩個軟件包,redhat6已經默認安裝.
修改/etc/vsftpd/vsftpd.conf
[root@mail ftp]# grep -v '^#' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_root=/ftp/public ;匿名賬戶根目錄
xferlog_enable=YES ;開啓日誌
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600 ;刪除空閒了10分鐘後的用戶
data_connection_timeout=120 ;刪除空閒了2分鐘的下載
accept_timeout=60 ;刪除掛起了1分鐘後的被動連接
connect_timeout=60 ;刪除掛起1分鐘後的活動連接
ftpd_banner=Welcome to ZZU FTP.
chroot_local_user=YES ;本地賬戶限制在家目錄
ls_recurse_enable=YES ;禁用危險地ls-R指令
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
hide_ids=YES ;隱藏文件的所有者和組信息
max_clients=300 ;最大接入人數300個
max_per_ip=4 ;每人最大4個連接
anon_max_rate=100000 ;匿名用戶最大速率100K/s
local_max_rate=1000000 ;本地用戶最大速率1M/s
guest_enable=YES ;開啓虛擬用戶
guest_username=ftp ;虛擬用戶映射的本地用戶
user_sub_token=$USER
local_root=/ftp/virtual/$USER ;虛擬用戶的根目錄
user_config_dir=/etc/vsftpd/userdir ;虛擬用戶的權限對用文件
虛擬賬戶的設置
mkdir /etc/vsftpd/vuser
vim /etc/vsftpd/vuser/vu
ftp1
123
ftp2
123
第一行爲賬戶第二行爲密碼
生成數據庫文件
db_load –T –t hash –f /etc/vsftpd/vuser/vu /etc/vsftpd/vuser/vu.db
虛擬賬號權限
mkdir /etc/vsftpd/userdir
vim /etc/vsftpd/userdir/ftp1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
賦予ftp1最大權限
vim /etc/vsftpd/userdir/ftp2
anon_upload_enable=YES
賦予ftp2可上傳權限
修改賬戶驗證模式
vim /etc/pam.d.vsftpd
改變爲
auth required pam_userdb.so db=/etc/vsftpd/vuser/vu
account required pam_userdb.so db=/etc/vsftpd/vuser/vu
防火牆和suLinux都是開啓的
改變相應策略
setsebool -P allow_ftpd_anon_write=1
setsebool -P allow_ftpd_full_access=1
setsebool -P ftp_home_dir=1
建立ftp相關的文件夾
mkdir –p /ftp/public /ftp/virtual/ftp1 /ftp/virtual/ftp1
chown ftp.ftp /ftp/virtual/*
修改安全環境
chcon --reference /var/ftp -R /ftp
啓動服務
service vsftpd start
測試