之前用系统账户作为ftp的登录账户,比较不安全,改用虚拟账户。步骤如下:
1.安装vsftpd、db_load,省略
2.在一个目录创建一个用户名密码文件,比如
vilogin.txt#输入用户名密码奇数行是用户名、偶数行是密码
test1
testpwd
test2
testpwd
3.生成db文件
db_load–T–thash–flogin.txt/etc/vsftpd/vsftpd_login.db
4.修改权限
chmod600/etc/vsftpd/vsftpd_login.db
5.配置pam文件
vi/etc/pam.d/vsftpd.v#输入以下配置
authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
#后来登录ftp出现530错误,需要把上面两行改为:可能是跟64位系统有关
authrequiredpam_userdb.sodb=/etc/vsftpd/vsftpd_login
accountrequiredpam_userdb.sodb=/etc/vsftpd/vsftpd_login
6.创建虚拟用户
useraddvsftpd-d/usr/local/vsftpd-s/sbin/nologin
-d 指定home目录,-s设置成不可登录系统的用户
修改目录权限chown -R vsftpd /usr/local/vsftpd
7.修改vsftpd配置文件
vi/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
dirmessage_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
pam_service_name=vsftpd.v
user_config_dir=/etc/vsftpd/v_user_conf
local_root=/usr/local/vsftpd
8.创建用户配置文件
cd/etc/vsftpd
mkdirv_user_conf
viv_user_conf/test1#给全部权限,限定根目录
local_root=/usr/local/vsftpd/test1
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
viv_user_conf/test2#给全部权限,限定根目录
local_root=/usr/local/vsftpd/test2
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
9.重启vsftpd
servicevsftpdrestart
用设置的test1、test2登录可以了。