本文的环境:
系统: centos 6.2 64 位
步骤:1、创建本地用户:
useradd -d /data/ftp/chen chen
2、建立一个用户文件,用来存储用户名和密码,奇数为用户名,偶数为密码。
3、生成数据库
[root@localhost ~]# db_load -T -t hash -f /root/login /etc/vsftpd/longin.db
3、配置pam认证文件
打开/tec/pam.d/vsftpd 把前面的注释,在后面添加两行内容,修改后文件内容如:
配置vsftpd.conf文件;内容如下
anonymous_enable=NO
local_enable=YES
#write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_port=21
userlist_enable=YES
chroot_local_user=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=opendoc
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_enable=yes
max_clients=200
max_per_ip=4
idle_session_timeout=600
ftpd_banner=Welcome to opendoc FTP service.
创建虚拟用户主目录
mkdir /etc/vsftpd/vsftpd_user_conf
创建虚拟用户的配置文件。
vi /etc/vsftpd/vsftpd_user_conf/ftpadmin 所有权限
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/data
下面进行验证:
[root@localhost vsftpd]# ftp localhost
Trying ::1...
ftp: connect to address ::1拒绝连接
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir aaa
257 "/aaa" created
ftp> ls
227 Entering Passive Mode (127,0,0,1,223,95).
150 Here comes the directory listing.
drwx------ 2 500 500 4096 Jun 22 13:20 aaa
226 Directory send OK.
ftp>