使用vsftpd搭建ftp服务
- centos上自带vsftpd
- yum install -y vsftpd
- useradd -s /sbin/nologin virftp
- vi /etc/vsftpd/vsftpd_login 奇数行为用户名 偶数行为密码
- chmod 600 /etc/vsftpd/vsftpd_login
- db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
- mkdir /etc/vsftpd/vsftpd_user_conf
- cd /etc/vsftpd/vsftpd_user_conf
服务端
[root@localhost ~]# yum install -y vsftpd
[root@localhost ~]# useradd -s /sbin/nologin virftp
[root@localhost ~]# vi /etc/vsftpd/vsftpd_login
testuser1
123
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# cd /etc/vsftpd/vsftpd_user_conf
[root@localhost vsftpd_user_conf]# vi testuser1
local_root=/home/virftp/testuser1
anonymous_enables=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
date_connection_timeout=120
max_clients=10
[root@localhost vsftpd_user_conf]# mkdir /home/virftp/testuser1
[root@localhost vsftpd_user_conf]# touch /home/virftp/testuser1/1.txt
[root@localhost vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
添加测试文件1.txt
[root@localhost vsftpd_user_conf]# vi /etc/pam.d/vsftpd
添加
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
为
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
修改主配置文件
[root@localhost vsftpd_user_conf]# vi /etc/vsftpd/vsftpd.conf
修改
anonymous_enable=YES
为
anonymous_enable=NO
修改
#anon_upload_enable=YES
为
anon_upload_enable=NO
修改
#anon_mkdir_write_enable=YES
为
anon_mkdir_write_enable=NO
添加
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
:wq
[root@localhost vsftpd_user_conf]# systemctl start vsftpd
[root@localhost vsftpd_user_conf]# ps aux | grep vsftp
root 5324 0.0 0.0 53212 576 ? Ss 21:16 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 5326 0.0 0.0 112660 976 pts/0 S+ 21:16 0:00 grep --color=auto vsftp
[root@localhost vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2494/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2276/nginx: master
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2276/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1328/sshd
tcp6 0 0 ::1:25 :::* LISTEN 2494/master
tcp6 0 0 :::3306 :::* LISTEN 2526/mysqld
tcp6 0 0 :::21 :::* LISTEN 5479/vsftpd
tcp6 0 0 :::22 :::* LISTEN 1328/sshd
客户端
[root@localhost ~]# yum install -y lftp
[root@localhost ~]# lftp testuser1@127.0.0.1
Password:
lftp testuser1@127.0.0.1:~>