Linux下安装FTP
最近照着网上教程Linux篇---ftp服务器的搭建,在Linux(centos)下安装ftp的时候遇到了一点问题,主要是配置那块会遇到一些问题,特地记录一下。
安装前准备(如果没有安装过ftp,可以跳过这个)
1 下载前先查看是否安装过ftp,如果安装过会显示对应的ftp版本号,我这边因为之前没有安装过,所以没有显示
查看是否安装过ftp2 如果安装过ftp,先直接卸载
rpm -e vsftpd #卸载ftp
卸载ftp
安装下载
下载安装很简单,直接通过yum命令安装ftp
yum -y install vsftpd #安装
chkconfig vsftpd on #设置开机启动
安装ftp
设置开机启动
配置
- 创建FTP用户gepeisong(其实就是创建一个Linux用户,可以参考我之前的Linux用户和用户组命令,如果提示组不存在,那自己手动创建一个组
groupadd ftp
)
useradd -d /data/ftp -g ftp -G root gepeisong
创建FTP用户gepeisong
-d 指定用户根目录为/data/ftp(不加这个,默认会在/home目录下生成一个gepeisong目录)
-g 指定分组ftp
-G 指定root分组(附属组)
最后gepeisong是创建的用户名
注:创建有问题可以删除重新创建 userdel -r gepeisong(就是建一个Linux用户)
- 设置密码
passwd gepeisong
设置密码
- 配置vsftpd,
vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
local_root=/data/ftp/pub #上传文件的根目录,也就是你要把你的文件通过ftp上传到对应的Linux哪个目录下(这边要对这个目录的权限进行修改,参考接下来的第4步)
allow_writeable_chroot=YES #如果没有这个,在最后加上这个。原因参考:https://www.cnblogs.com/wplvqj/p/10537070.html
idle_session_timeout=2400 #空闲连接超时时间40分钟(可以不设置,直接用默认的)
data_connection_timeout=120 #数据传输超时时间2分钟(可以不设置,直接用默认的)
max_clients=100 #可接受的最大client数目(可以不设置,直接用默认的)
max_per_ip=10 #每个ip的最大client数目(可以不设置,直接用默认的)
配置vsftpd
- 修改上传文件根目录
/data/ftp/pub
所属的组为ftp,因为之前创建的那个用户gepeisong就是隶属于ftp组下的。如果没有对应目录,自己手动创建mkdir -p /data/ftp/pub
。(如果你对目录权限没有什么严格要求,那就直接chmod 777 /data/ftp/pub
给一个最大的权限)
chgrp ftp /data/ftp/pub #把对应文件夹的所属组改为ftp
chmod 770 /data/ftp/pub #将所属组ftp赋予读写执行权限
修改文件夹的权限组
- 编辑文件chroot_list,将你允许访问的用户添加在这里。
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,把刚刚新建的那个gepeisong用户加入
- 如果再需要添加ftp用户,重复步骤1,2,5
启动
service vsftpd restart
启动ftp
遇到的问题
- 如果ftp不通,把防火墙关了,如果是云服务器,配置安全组
- 主要会在权限那块遇到一些问题,如果你对权限没有什么太严格的要求,那就直接把上传文件的根目录置为最大权限。
chmod 777 对应的上传文件目录
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 未执行请求的的命令,名称不正确。