C/C++教程

Centos7搭建FTP站点

本文主要是介绍Centos7搭建FTP站点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • Centos7搭建FTP站点
    • vsftpd安装
      • 安装vsftpd
      • 设置开机自启
      • 服务启动
      • 查看服务状态
      • 服务重启
    • vsftpd准备
      • 创建用户
      • 设置密码
      • 创建目录
      • 权限配置
    • vsftpd配置
      • 常用配置
      • 日志配置
      • 黑名单配置
      • 其它配置
      • 补充说明
    • ftp数字代码
      • 正常代码
      • 错误码

Centos7搭建FTP站点

vsftpd安装

安装vsftpd

yum install vsftpd -y

设置开机自启

systemctl enable vsftpd

服务启动

systemctl start vsftpd

查看服务状态

systemctl status vsftpd

vsftpd服务状态图

从服务状态可以看到,ftp服务已经处于running状态,同时可以看到ftp服务的配置文件。

服务重启

systemctl restart vsftpd

在修改了配置文件之后,需要重启服务。

vsftpd准备

我们可以使用root,不过推荐创建专门的ftp用户,保证服务器数据安全。

创建用户

adduser ftpuser

设置密码

passwd ftpuser

创建目录

可以直接使用已经存在的目录,这里单独创建一个新的目录进行共享,同时创建两个测试文件。

mkdir -p /var/vsftpd/ftp
touch /var/vsftpd/ftp/001.txt
touch /var/vsftpd/ftp/002.pdf

权限配置

将共享目录的拥有者设置为ftpuser。

chown -R ftpuser:ftpuser /var/vsftpd/ftp

vsftpd配置

前面通过服务状态可以看到配置文件路径,通过路径查看配置文件。

常用配置

#是否容许匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
# 数据传输中断超时时间
idle_session_timeout=600
# 数据连接超时时间
data_connection_timeout=120

日志配置

# 开启操作日志记录
xferlog_enable=YES
# 日志路径
xferlog_file=/var/log/vsftpd.log
# 日志格式使用标准xfer
xferlog_std_format=YES

黑名单配置

# 开启email黑名单
deny_email_enable=YES
# email黑名单文件路径
banned_email_file=/etc/vsftpd/banned_emails
# userlist中用户能否登录
userlist_enable=YES
# userlist中用户是否拉黑,与上面配置有一即可
userlist_deny=YES

其它配置

#允许进行写操作
write_enable=YES
#权限配置参数,具体看补充说明
local_umask=022
# 允许匿名用户上传文件
anon_upload_enable=YES
# 允许匿名用户创建新的目录
anon_mkdir_write_enable=YES
# 当用户进入某个目录时,会显示该目录需要注意的内容
dirmessage_enable=YES
# ftp服务监听端口
listen_port=21
# 主动模式端口使用20
connect_from_port_20=YES
# 设定是否允许 改变 上传文件的属主
chown_uploads=YES
# 设置想要改变的上传文件的属主,whoever表任何人
chown_username=whoever
# vsftpd运行的非特权用户
nopriv_user=ftpsecure
# 开启abor异步请求
async_abor_enable=YES
# 启用以ascii类型上传
ascii_upload_enable=YES
# 启用以ascii类型下载
ascii_download_enable=YES
# frp欢迎语
ftpd_banner=Welcome to blah FTP service
# 锁定用户只能在自己的目录下
chroot_list_enable=YES
# 用户锁定名单文件
chroot_list_file=/etc/vsftpd/chroot_list
# 容许目录递归查询
ls_recurse_enable=YES
# 以独立模式运行,由vsftpd自己监听和处理连接请求
listen=YES
# 支持ipv6
listen_ipv6=YES
# 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即/etc/pam.d/vsftpd文件,此文件中file=/etc/vsftpd/ftpusers字段,说明了PAM模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中
#pam_service_name=vsftpd

# 服务器使用 tcp_wrappers 作为主机访问控制方式
tcp_wrappers=YES
# 最大客户端连接数
max_client=100
# 通ip最大连接数,0表不限制
max_per_ip=1
# 本地用户最大传输速度单位b/s
local_max_rate=1000
# 匿名用户最大传输速度
ano n_max_rate=100

补充说明

  • umask是在linux中常见的一个东西,它其实是一个掩码。当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义。该 定义为:
    假设umask为022,则对于一个文件夹的话,它的默认属性为 777-022=755,这也就是我们平时建立文件夹的权限。而对于一般的文件的话,则是用 666-022=644.

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 未执行请求的的命令,名称不正确。
这篇关于Centos7搭建FTP站点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!