1、安裝vsftpd和依賴軟件
yum install vsftpd pam pam-devel db4 db4-devel db4-utils db4-tcl -y
2、備份并且配置vsftpd.conf
備份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
配置
cat > /etc/vsftpd/vsftpd.conf << EOF
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
EOF
3缝呕、創(chuàng)建虛擬用戶配置文件存放的目錄怠堪,這個(gè)目錄是vsftpd.conf配置文件中的參數(shù)user_config_dir=/etc/vsftpd/vconf定義的
mkdir -p /etc/vsftpd/vconf
4、創(chuàng)建保存 虛擬用戶 的文件
touch /etc/vsftpd/vusers
5吭从、在保存虛擬用戶的文件中建立測(cè)試用戶
echo "test" >> /etc/vsftpd/vusers
echo "123456" >> /etc/vsftpd/vusers
6、生成虛擬用戶數(shù)據(jù)庫(kù)加密文件:
db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers.db
7、備份vsftpd的pam認(rèn)證文件"/etc/pam.d/vsftpd"
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
8假褪、修改vsftpd的pam認(rèn)證文件"/etc/pam.d/vsftpd"
首先刪除/etc/pam.d/vsftpd的所有內(nèi)容,然后添加以下內(nèi)容到這個(gè)文件中
cat >/etc/pam.d/vsftpd <
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
EOF
9近顷、創(chuàng)建虛擬用戶的配置文件生音,
每個(gè)虛擬用戶的配置文件可以不同,
每個(gè)虛擬用戶的配置文件是個(gè)獨(dú)立的文件窒升,
配置文件新建到vsftpd.conf的配置文件中的參數(shù)user_config_dir=/etc/vsftpd/vconf定義的目錄中缀遍,這個(gè)目錄在第3步已經(jīng)創(chuàng)建
各個(gè)虛擬用戶的配置文件名稱,必須設(shè)置得和虛擬用戶數(shù)據(jù)庫(kù)中的虛擬用戶名相同饱须,
例:在虛擬用戶的數(shù)據(jù)庫(kù)文件中定義了user1這個(gè)用戶域醇,那么在/etc/vsftpd/vconf/這個(gè)目錄中,就必須定義1個(gè)user1這個(gè)用戶
配置文件的格式
cat > /etc/vsftpd/vconf/test <
local_root=/srv/vsftp/test
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
max_per_ip=5
EOF
10、創(chuàng)建虛擬用戶的ftp上傳目錄 ,這個(gè)目錄是由第9步的配置文件中的參數(shù) local_root=/srv/vsftp/test定義的譬挚,參考示例配置
mkdir -p /srv/vsftp/test
11锅铅、修改虛擬用戶的ftp上傳目錄權(quán)限, 這個(gè)用戶是由vsftpd.conf配置文件的參數(shù) guest_username=ftp 定義的
chown -R ftp.root /srv/vsftp/test
12、創(chuàng)建文件vsftpd.conf配置文件中參數(shù) chroot_list_file=/etc/vsftpd/vsftpd.chroot_list 定義的文件,
這個(gè)參數(shù)和chroot_local_user=YES殴瘦,chroot_list_enable=YES這2個(gè)參數(shù)配合使用狠角,
表示如果在chroot_list_file參數(shù)中未定義任何用戶,就沒(méi)有任何用戶能切換到ftp的上級(jí)目錄
touch /etc/vsftpd/vsftpd.chroot_list