- 一、概述
- 二、安装vsftpd
- 三、配置vsftpd
- 四、客户端ftp
- 基础命令
- 无法登录
- 登录慢卡
- 五、卸载vsftpd
- 六、使用
FTP服务器为vsftpd,客户端为ftp。
版本信息
[root@VM-4-11-centos ~]# uname -r 3.10.0-1160.11.1.el7.x86_64 [root@VM-4-11-centos ~]# cat /proc/version Linux version 3.10.0-1160.11.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Fri Dec 18 16:34:56 UTC 2020二、安装vsftpd
# 1. 检查是否安装了ftp rpm -qa |grep vsftpd vsftpd -v # 2. yum安装ftp yum install -y vsftpd # 3.启动ftp服务 service vsftpd start # 4.查看ftp服务状态 service vsftpd status # 查看当前端口开放情况 netstat -nlpt netstat -nltp | grep 21 # 查看FTP目录 curl ftp://10.0.4.11三、配置vsftpd
# 默认安装目录 [root@VM-4-11-centos ~]# cd /etc/vsftpd [root@VM-4-11-centos vsftpd]# ll 总用量 20 -rw------- 1 root root 125 6月 10 00:15 ftpusers # 禁止登录ftp用户 -rw------- 1 root root 361 6月 10 00:15 user_list # 待授权访问的用户 -rw------- 1 root root 5116 6月 10 00:15 vsftpd.conf # 配置文件 -rwxr--r-- 1 root root 338 6月 10 00:15 vsftpd_conf_migrate.sh # 如果vsftpd.conf 中 userlist_deny=YES(默认),则决不允许user_list中的用户使用ftp登陆。userlist_deny=NO,则仅允许此文件中的用户。 # 默认情况下vsftpd还检查ftpusers文件里有哪些用户被拒绝。 # 禁用匿名访问和切换根目录 vim /etc/vsftpd/vsftpd.conf # 禁用匿名用户 anonymous_enable=NO # 禁止切换根目录(还需要设置allow_writeable_chroot,否则无法登录) # chroot_local_user=YES # allow_writeable_chroot=YES # 重启 service vsftpd restart # 创建 FTP 用户 useradd ftp_wangfugui # 设置密码 echo "123456" | passwd ftp_wangfugui --stdin # 限制该用户仅能通过 FTP 访问,不能登录系统 usermod -s /sbin/nologin ftp_wangfugui # 为用户分配主目录 mkdir -p /home/ftp_wangfugui/ftp/pub # /home/ftp_wangfugui/ftp 为主目录, 该目录不可上传文件 # /home/ftp_wangfugui/ftp/pub 文件只能上传到该目录下 chmod a-w /home/ftp_wangfugui/ftp && chmod 777 -R /home/ftp_wangfugui/ftp/pub # 创建登录欢迎文件 echo "Welcome to use FTP service." > /home/ftp_wangfugui/ftp/welcome.txt # 设置为用户的主目录,-d <登录目录> usermod -d /home/ftp_wangfugui/ftp ftp_wangfugui # 访问FTP # 关闭SELinux服务 setenforce 0 # 关闭防火墙 service iptables stop 或 iptables -F四、客户端ftp 基础命令
yum install -y ftp # 登录 ftp 10.0.3.11 21 echo "hello world" > aa.txt # 上传xxx.txt put xxx.txt # 下载xxx.txt get xxx.txt无法登录
# 检查 pam 保护机制:该配置项的含义为仅允许用户的shell为/etc/shells文件内的shell命令时,才能够成功,而创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,也就无法登录了。 vim /etc/pam.d/vsftpd # 将 auth required pam_shells.so 修改为-> auth required pam_nologin.so auth required pam_nologin.so 或者直接注释掉 #auth required pam_shells.so # 重启vsftpd service vsftpd restart登录慢卡
当客户端连接服务器时,服务器会执行一个DNS查找,来确认域名,如果所用DNS解析不到,会等到超时为止。
vim /etc/vsftpd/vsftpd.conf # 不查找dns服务器 reverse_lookup_enable=NO # 重启 service vsftpd restart五、卸载vsftpd
service vsftpd stop yum remove vsftpd rpm -qa |grep vsftp六、使用
FTP服务:10.0.3.11 21 FTP用户:ftp_wangfugui FTP密码:123456 FTP目录:/home/ftp_wangfugui/ftp/pub
Java客户端
# 转移工作目录至指定目录下 /home/ftp_wangfugui/ftp/pub
client.changeWorkingDirectory("pub");



