[root@localhost source]# tar xzvf vsftpd-2.0.7.tar.gz

[root@localhost source]# cd vsftpd-2.0.7

[root@localhost vsftpd-2.0.7]# more INSTALL

[root@localhost usr]# cd /home/source/vsftpd-2.0.7

[root@localhost vsftpd-2.0.7]# make

[root@localhost vsftpd-2.0.7]# make install

[root@localhost vsftpd-2.0.7]# cp vsftpd.conf /etc/

[root@localhost vsftpd-2.0.7]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd

[root@localhost vsftpd-2.0.7]# useradd -M ftp -d /var/ftp

[root@localhost vsftpd-2.0.7]# mkdir -p /var/ftp
[root@localhost vsftpd-2.0.7]# chown root:root /var/ftp
[root@localhost vsftpd-2.0.7]# chmod 755 /var/ftp
[root@localhost vsftpd-2.0.7]# mkdir -p /usr/share/empty

[root@localhost vsftpd-2.0.7]# more /etc/xinetd.d/vsftpd
# default: on
# description:
# The vsftpd FTP server serves FTP connections. It uses
# normal, unencrypted usernames and passwords for authentication.
# vsftpd is designed to be secure.
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/vsftpd
# server_args =
# log_on_success += DURATION USERID
# log_on_failure += USERID
nice = 10
disable = YES
}

[root@localhost vsftpd-2.0.7]# cd /etc/

[root@localhost etc]# groupadd Virtual

[root@localhost etc]# useradd -g Virtual Vuser

[root@localhost etc]# mkdir vsftpd
[root@localhost etc]# vi /etc/vsftpd/logins.txt
admin
123456
upload
12345678
download
12345678

[root@localhost etc]# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
[root@localhost etc]# chmod 600 /etc/vsftpd/vsftpd_login.db
[root@localhost etc]# cd pam.d/

[root@localhost pam.d]# more vsftpd
#%PAM-1.0
auth required /lib/security/pam_listfile.so item=user sense=deny file=
/etc/ftpusers onerr=succeed
auth required /lib/security/pam_unix.so shadow nullok
auth required /lib/security/pam_shells.so
account required /lib/security/pam_unix.so
session required /lib/security/pam_unix.so

[root@localhost pam.d]# vi vsftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

[root@localhost pam.d]# mkdir /etc/vsftpd/Virtual

[root@localhost pam.d]# cd /etc/vsftpd/Virtual/
[root@localhost Virtul]# ls
[root@localhost Virtul]# vi admin
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/home/web/
file_open_mode=0777 #此为上传文件具有X权限

[root@localhost Virtul]# vi upload
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/usr/local/apache/htdocs/dym_test/

[root@localhost Virtul]# vi download

anon_world_readable_only=NO
local_root=/usr/local/apache/htdocs/anvy_test/

[root@localhost vsftpd]# cd ..
[root@localhost etc]# vi vsftpd.conf

[root@localhost etc]# more vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Welcome to blah FTP service.
listen=YES
listen_port=21
#tcp_wrappers=YES
chroot_local_user=YES
#userlist_enable=YES
guest_enable=YES
guest_username=Vuser
#virtual_use_local_privs=YES
pam_service_name=vsftp.vu
user_config_dir=/etc/vsftpd/Virtual
pasv_min_port=30000
pasv_max_port=30999
connect_timeout=180
max_clients=200
max_per_ip=100

[root@localhost etc]# /usr/local/sbin/vsftpd &
[1] 15190
[root@localhost etc]# ps -ef |grep vsftpd
root 15190 10536 0 18:17 pts/0 00:00:00 /usr/local/sbin/vsftpd
root 15192 10536 0 18:17 pts/0 00:00:00 grep vsftpd

[root@localhost htdocs]# ps -ef |grep vsftpd | awk ‘{print $2 }’
15190
15475

One thought on “vsftpd虚拟账户”

发表评论

电子邮件地址不会被公开。 必填项已用*标注