一. Ftp安装
1.运行以下命令以安装vsftpd(一个常见的FTP服务器软件):
sudo yum install vsftpd
2.安装完成后,运行以下命令以启动FTP服务器并设置其在系统启动时自动启动sudo systemctl start vsftpd
sudo systemctl enable vsftpd
3.默认情况下,vsftpd配置文件位于/etc/vsftpd/vsftpd.conf
。您可以使用文本编辑器(如vi或nano)打开该文件进行配置:sudo vim /etc/vsftpd/vsftpd.conf
4.根据您的需求进行配置。以下是一些常见的配置选项:
anonymous_enable=YES
:允许匿名用户访问FTP服务器。write_enable=YES
:允许用户上传文件到FTP服务器。local_enable=YES
:允许本地用户访问FTP服务器。chroot_local_user=YES
:限制本地用户在其主目录下访问。pasv_enable=YES
:启用被动模式(PASV)。5.保存并关闭文件。然后重新启动vsftpd以使更改生效:
sudo systemctl restart vsftpd
二.Ftp问题(550,530)
如何处理linux系统下ftp服务报错 550 Failed to change directory
当你的linux使用ftp服务器报此类错误时
通常是ftp某些服务项没有开启
和防火墙以及你的ftp配置文件的某些选项有关系
1.先使用命令查看ftp服务是否开启
getsebool -a | grep ftp
当然一些朋友在使用这个命令时会报错 getsebool: SElinux is disabled
这是因为你的selinux永久关闭了 不能记录日志文件 这就导致你用这个命令查询时会不能查到
你可以直接修改 /etc/selinux/config
然后重启实例
reboot 或者 shutdown -r now
当我们查看时会发现
就
我这里没有报错 一般报错的会发现
ftpd_full_access - - > off
tftp_home_dir - - > off
这两个服务项都是关闭的
1. 我们把这两项用命令开启
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
开启之后 你再次查看如果还没现实on 就是你防火墙 或者其他配置 导致外网不能访问
关闭匿名访问或者修改防火墙的配置即可
2.最后重启ftp服务
systemctl restart vsftpd
FTP连接报错530 Permission denied解决方法
1.首先检查系统是否开启了vsftp服务,如果没有开启,先开启该服务。
2.查看配置
vsftpd的配置,配置文件中限定了vsftpd用户连接控制配置。
vsftpd.ftpusers:位于/etc/vsftpd目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc/vsftpd目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。3.配置修改完成后,执行service vsftpd restart重启vsftpd服务。