以前用系統帳戶做爲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登陸能夠了。