##参考网址
https://blog.csdn.net/wqh0830/article/details/87743928
#1、创建用户名并指定家目录,
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
useradd -d /home/ftpuser -g umpay -s /sbin/nologin ftpuser
#-d-->更改用户的家目录为/home/ftpuse;此目录与数据目录保持一致
#-s /sbin/nologin --> 不让用户登录linux系统,只能以ftp方式登录
#给ftp用户家目录赋予777权限
chmod 777 /home/ftpuser
#2、设置密码,用户名:ftpuser 密码:umpay2010
passwd ftpuser
#3、安装FTP
#查看是否安装
rpm -qa|grep vsftpd
#无结果则安装
yum install -y vsftpd lftp ftp
#4、关闭Firewalls和SELINUX
#临时关闭防火墙命令。重启电脑后,防火墙自动起来。
systemctl stop firewalld
#永久关闭防火墙命令。重启后,防火墙不会自动启动。
systemctl disable firewalld
#打开防火墙命令。
systemctl enable firewalld
#关闭selinux
vim /etc/sysconfig/selinux
SELINUX=disabled
#解决登录FTP提示 530 Login incorrect.(麒麟系统可能存在此问题)
vim /etc/shells
在最后新增:/sbin/nologin
#5、修改vsftp.conf配置文件
#备份原配置文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
#添加以下配置:
#编辑后注意查看文件编码是否为unix set ff查看
#禁用匿名登录,默认是启用
anonymous_enable=NO
# 允许使用本地帐户进行FTP用户登录验证
local_enable=YES
#解决登录FTP 530报错
pam_service_name=vsftpd
#NO表示所有用户都可以跳出家目录,YES表示都不可以跳出,默认为都可以跳出
chroot_local_user=NO
#启用可以或不可以跳出家目录的例外
chroot_list_enable=YES
#当chroot_local_user=NO时,chroot_list里面配置的用户不可以跳出家目录,当chroot_local_user=YES时,chroot_list里面配置的用户可以跳出家目录
chroot_list_file=/etc/vsftpd/chroot_list
#NO表示所有用户均不可以登录ftp,YES表示所有用户均能访问ftp,默认是YES
userlist_deny=NO
#当userlist_deny=NO时,user_list是白名单(添加后可以访问),当userlist_deny=YES时,user_list是黑名单
userlist_file=/etc/vsftpd/user_list
#用户家目录可写,默认是只读的
allow_writeable_chroot=YES
#增加上传和可写权限(如果只要下载权限可以不加此项)
write_enable=YES
# 欢迎信息
ftpd_banner=Authorized users only. All activity may be monitored and reported.
# 是否允许递归查询
ls_recurse_enable=YES
# 777-001
local_umask=022
anon_umask=022
# 如果添加并启用此选项,则原本应该输出到/var/log/vsftpd.log中的日志,将输出到系统日志中
syslog_enable=YES
# 当此选项激活后,所有的FTP请求和响应都被记录到日志中。提供此选项时,xferlog_std_format不能被激活。这个选项有助于调试。默认值>为NO。
log_ftp_protocol=YES
# 双份日志
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
# 是否使用标准格式日志
xferlog_std_format=NO
xferlog_file=/var/log/xferlog
# 设置每个与FTP服务器的连接,是否以不同的进程表现出来。默认值为NO,此时使用ps aux |grep ftp只会有一个vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd的>进程。
setproctitle_enable=YES
# 是否使用二进制模式上传下载
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
ssl_enable=NO
#定义同步时间
use_localtime=YES
#6、chroot_list(添加ftpuser用户禁止跳出家目录)
vim /etc/vsftpd/chroot_list
#添加ftpuser用户
#7、user_list(添加ftpuser用户至白名单)
vim /etc/vsftpd/user_list
#添加ftpuser用户
#8、启动ftp
systemctl start vsftpd
#9、停止ftp
systemctl stop vsftpd
#10、状态ftp
systemctl status vsftpd
#10、登录验证
[root@master-jin ~]# ftp 10.10.133.48
Connected to 10.10.133.48 (10.10.133.48).
220 Authorized users only. All activity may be monitored and reported.
Name (10.10.133.48:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
删除文件
ftp> delete mon.2024050123
移动文件
ftp> rename /ums/enginelog/log/monbak /ums/enginelog/baklog/monbak