以前用系统帐户做为ftp的登陆帐户,比较不安全,改用虚拟帐户。步骤以下:安全
1.安装vsftpd、db_load,省略ui
2.在一个目录建立一个用户名密码文件,好比rest
vi login.txt #输入用户名密码奇数行是用户名、偶数行是密码 test1 testpwd test2 testpwd
3.生成db文件code
db_load –T –t hash –f login.txt /etc/vsftpd/vsftpd_login.db
4.修改权限hash
chmod 600 /etc/vsftpd/vsftpd_login.db
5.配置pam文件it
vi /etc/pam.d/vsftpd.v #输入如下配置 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #后来登陆ftp出现530错误,须要把上面两行改成:多是跟64位系统有关 auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
6.建立虚拟用户class
useradd vsftpd -d /usr/local/vsftpd -s /sbin/nologin
-d 指定home目录,-s设置成不可登陆系统的用户test
修改目录权限chown -R vsftpd /usr/local/vsftpd登录
7.修改vsftpd配置文件require
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 mkdir v_user_conf vi v_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 vi v_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
service vsftpd restart
用设置的test一、test2登陆能够了。