首页 > 系统相关 >CentOS7 安装FTP Server

CentOS7 安装FTP Server

时间:2022-10-19 00:56:00浏览次数:42  
标签:FTP enable ftpuser ftp Server CentOS7 vsftpd chroot YES

1. 安装 FTPServer

yum -y install vsftpd
systemctl start vsftpd.service
systemctl enable vsftpd.service

2.新建用户和FTP目录

groupadd ftp

#指定用户主目录:/data/ftp/ftpuser -M
#指定用户的shell: -s /usr/bin/nologin
#新建用户ftpuser,并且设置不支持ssh系统登录,只能登录ftp服务器
#-g 用户组; -d 指定家目录; -s 不能登陆系统; -M 不创建家目录
useradd -g ftp -d /data/ftp/ftpuser -M -s /usr/bin/nologin ftpuser

#如果要恢复ftpuser用户的ssh登录(可登入CentOS7系统),执行下面的语句即可
usermod -s /bin/bash ftpuser

#创建文件目录
mkdir -p /data/ftp/ftpuser

#为该目录配置权限
chmod -R 755 /data/ftp/ftpuser

#设密码
echo "ftppassword" | passwd --stdin ftpuser

# 由于/data/ftp/ftpuser的用户是root,其它用户都没有写的权限
# 所以要在该目录下新建一个目录用于文件的上传下载
mkdir -p /data/ftp/ftpuser/upload
chown ftpuser:ftp /data/ftp/ftpuser/upload
chmod 755 /data/ftp/ftpuser/upload

2.配置FTP

先备份,防止后期配置文件出错后无法还原:

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
vi /etc/vsftpd/vsftpd.conf

# 是否开启匿名用户,匿名都不安全,默认NO
anonymous_enable=NO
# 允许本机账号登录FTP
local_enable=YES
# 允许账号都有写操作
write_enable=YES
# 本地用户创建文件或目录的掩码
# 意思是指:文件目录权限:777-022=755,文件权限:666-022=644
local_umask=022
# 进入某个目录的时候,是否在客户端提示一下
dirmessage_enable=YES
# 当设定为YES时,使用者上传与下载日志都会被记录起来
xferlog_enable=YES
# 日志成为std格式
xferlog_std_format=YES
# 上传与下载日志存放路径
xferlog_file=/var/log/xferlog
# 开放port模式的20端口的连接
connect_from_port_20=YES
ascii_upload_enable=NO
ascii_download_enable=NO
# 通过搭配能实现以下几种效果:
# ①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录
# ②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录
# ③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录
# ④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录
# 限制用户只能在自己的目录活动
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
# 可以更改ftp的端口号,使用默认值21
# listen_port=60021
# 监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务
listen=NO
# 监听ipv6端口
listen_ipv6=YES
# 打开主动模式
port_enable=YES
# 启动被动式联机(passivemode)
pasv_enable=YES
# 被动模式起始端口,0为随机分配
pasv_min_port=64000
# 被动模式结束端口,0为随机分配
pasv_max_port=65000
# 这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd,认证用
pam_service_name=vsftpd
# 使用允许登录的名单,在/etc/vsftpd/user_list文件中添加新建的用户ftpuser
userlist_enable=YES
userlist_deny=NO
# 允许限制在自己的目录活动的用户拥有写权限
allow_writeable_chroot=YES
tcp_wrappers=YES
# FTP访问目录
local_root=/data/ftp/ftpuser

新增FTP用户:vi /etc/vsftpd/user_list

ftpuser

3.重启服务

systemctl restart vsftpd.service

4.这里遇到了ftp错误550 Create directory operation failed

解决方法,关闭SELinux

vi /etc/selinux/config

SELINUX=disabled

重启reboot

标签:FTP,enable,ftpuser,ftp,Server,CentOS7,vsftpd,chroot,YES
From: https://www.cnblogs.com/qqkkOvO/p/16804775.html

相关文章

  • Windows 2008 Server上FTP服务器安装
    Windows2008Server上FTP服务器安装FTP服务端安装首先需要一个windowsserver2008的虚拟机,作为服务端,安装FTP服务器。远程连接桌面(安装了VMwareTool了的可以直接跳过......
  • Serverless 遇到 FinOps: Economical Serverless
    Serverless遇到FinOps:EconomicalServerless**摘要:**本文基于FunctionGraph在Serverless领域的FinOps探索和实践,提出业界首个Serverless函数总成本估计模型......
  • Serverless 遇到 FinOps: Economical Serverless
    Serverless遇到FinOps:EconomicalServerless摘要:本文基于FunctionGraph在Serverless领域的FinOps探索和实践,提出业界首个Serverless函数总成本估计模型Key......
  • centos中安装配置ftp服务器
    ———————————————————————————————————————主机操作系统:Centos6.7安装配置:ftp服务器—————————————————————......
  • You appear to be running an X server; please exit X before installing. For furt
    1.安装nvidia驱动报错:YouappeartoberunninganXserver;pleaseexitXbeforeinstalling. Forfurtherdetails2.原因主要是由于安装远程控制lightgm导致X-se......
  • json server mock
    参考链接https://github.com/typicode/json-server1. npmijson-server-D或者yarnaddjson-server--dev创建一个jsonserver的目录,这个目录下创建db.json  {......
  • Windows Server 2012 搭建Ftp服务器
    WindowsServer2012搭建Ftp服务器一、介绍FTP全称是FileTransferProtocol的简称,是一种文件传输协议。它使用TCP进行传输,客户和服务器建立连接前需要进行一个"三次握手......
  • Serverless 架构演进与实践
    Serverless架构演进与实践1.介绍Serverless并不仅仅是一个概念,很多地方都已经有了它的影子和思想,本文将给大家介绍最近比较火的Serverless。首先放出官方对Serverl......
  • SQL Server 函数大全
    表达式:是常量、变量、列或函数等与运算符的任意组合。以下参数中表达式类型是指表达式经运算后返回的值的类型字符串函数函数名称参数示例说明ascii......
  • SQL server把多条记录查找结果合并成一条记录
    例如我们有如下一张"用户工厂"表,为多对多关系:selectUserId,工厂号from用户工厂 如果我们希望得到三个工厂号对应了哪些UserId,把这些UserId放到一行里面显示出来,......