查看是否已安装ftp
# rpm -qa | grep vsftpd
# yum list | grep vsftpd
# 查看21端口是否被占用
# ss -nltp | grep 21
# netstat -nltp | grep 21
# netstat -tunlp | grep 21
# which vsftpd
1、安装vsftpd
yum install -y vsftpd
如果是在没有网络的情况下,使用rpm安装(须先下载在上传)
yum install --downloadonly --downloaddir=/root/vsftpdpackage vsftpd
rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
2、启动vsftpd
systemctl start vsftpd
systemctl enable vsftpd # 开机自启
其他相关命令:
systemctl restart vsftpd # 重启vsftpd
systemctl stop vsftpd # 停用vsftpd
systemctl status vsftpd # vsftpd状态
yum remove vsftpd # 卸载
3、修改配置文件
vim /etc/vsftpd/vsftpd.conf
# 用户被限制在自己的主目录下
chroot_local_user=YES
chroot_list_enable=NO
# 不允许匿名登陆:
anonymous_enable=NO
# 允许写操作:(可以上传文件)
write_enable=YES
# 允许写入用户主目录
allow_writeable_chroot=YES
4、添加ftp用户
useradd -d /data/user -s /bin/bash user 创建用户
passwd user 设置密码
chown user /data/user 访问权限
chmod 777 -R /data/user 对文件夹授权
5、ftp登陆(需要关闭防火墙和selinux)
yum install -y ftp
若无法联网,使用rpm包安装
yum install --downloadonly --downloaddir=/root/ftppackage ftp
rpm -ivh ftp-0.17-67.el7.x86_64.rpm
登陆:
# ftp 10.20.0.101
Connected to 10.20.0.101 (10.20.0.101).
220 (vsFTPd 3.0.2)
Name (10.20.0.101:root): user
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls ftp的查询命令
ftp> put ftp的上传命令
ftp> get ftp的下载命令
ftp> delete ftp的删除命令(单个文件)
ftp> mdelete ftp的删除多个文件的命令(支持通配符)
6、登陆中遇到过的问题:
问题1: 500 OOPS: cannot locate user entry:nobody
修改:将ftpsecure 修改为系统中存在的用户
# vim /etc/vsftpd/vsftpd.conf
nopriv_user=ftpsecure (取消注释,或者添加一行)
# 重启vsftp服务:
systemctl restart vsftpd
问题2: 500 OOPS: cannot locate user entry:ftpsecure
修改: 添加用户组 ftpsecure
# groups ftpsecure
groups: ftpsecure: no such user
# groupadd ftpsecure
# adduser -g ftpsecure -s /sbin/nologin ftpsecure
# systemctl restart vsftpd
问题3:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
# vim /etc/vsftpd/vsftpd.conf 添加一行
allow_writeable_chroot=YES
# 重启vsftpd
# systemctl restart vsftpd
网友评论