linux安装ftp

发布时间 2023-09-17 14:05:55作者: 幸福在靠近

安装FTP软件

1、用root 进入系统

2、使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本

3、使用命令rpm -e vsftpd 即可卸载ftp

4、再使用rpm -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功,屏幕上显示vsftpd的版本
安装vsftpd

查看是否已经安装vsftpd
rpm -qa | grep vsftpd

如果没有,就安装,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on
管理vsftpd相关命令:

启动vsftpd: service vsftpd start
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙

本次用虚拟机,直接关了了事

开启防火墙
systemctl start firewalld
//临时关闭
# service iptables stop
//禁止开机启动
# chkconfig iptables off

FTP用户管理
创建FTP用户并指定分组和主目录

useradd -d /data/ftp -s /sbin/nologin -g ftp -G root ftpadmin

解析:
useradd 添加用户ftpadmin
-d 指定用户根目录为/data/ftp
-s 指定shell脚本为/sbin/nologin,表示不允许shell登录
-g 创建分组ftp
-G 指定root分组
PS:创建有问题可以删除重新创建 userdel -r ftpadmin
设定密码

passwd ftpadmin
设置访问权限

chown ftpadmin /data/ftp
配置vsftpd

1.默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf

2.添加ftp用户

下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

3、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

peter
john
ftpadmin

4、超时设置(可以不设置使用默认的)
idle_session_timeout=2400 #空闲连接超时时间40分钟
data_connection_timeout=120 #数据传输超时时间2分钟

5、用户连接选项(可以不设置,使用默认的)
max_clients=100 #可接受的最大client数目
max_per_ip=10 #每个ip的最大client数目

6、重新启动vsftpd
service vsftpd restart

7、测试
windows 开始 —-> 输入CMD —–> ftp 10.103.7.98 21
提示,输入用户名,然后输入密码,如下图所示,登录成功

 会有 登录错误530错误解决:

执行命令:

setsebool  ftp_home_dir  on

参考地址:https://blog.csdn.net/duguduchong/article/details/21650273

也可以使用软件Xftp5,如下图所示:

 

 


测试看看能不能上传下载文件
如果不行,可能是权限没有配置好。

检查FTP用户指定的目录没有读写权限
这里写图片描述

1、500 OOPS: cannot change directory
解决方法:

在终端输入命令:
1.setsebool -P ftpd_disable_trans 1
2.service vsftpd restart

就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。

在终端输入:sestatus -b |grep ftp
查看ftp相关的权限配置,通过下面的命令修改权限
setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool ftp_home_dir 1
setsebool httpd_enable_ftp_server 1

FTP 数字代码的意义
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路埠开启,准备传送。
150 文件状态正常,开启数据连接端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制连接埠关闭,可以注销。
225 数据连结开启,但无传输动作。
226 关闭数据连接端口,请求的文件操作成功。
227 进入passive mode。
230 使用者登入。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要账号信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。