Centos搭建ftp服务器

2023-10-30

目录

ftp是什么

 搭建ftp服务器目的

检查安装vsftpd软件

创建用户

创建用户并指定用户目录


ftp是什么

FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序.一般的Linux系统默认带有ftp软件或者是vsftpd

 搭建ftp服务器目的

从window系统上传程序文件到linux系统的服务器里

检查安装vsftpd软件

查看所有的安装的软件包 并在结果中查找包含vsftp 的文件

rpm  -qa  |grep   vsftpd

如果没有装则使用yum命令安装

yum -y install vsftpd

 卸载:

rpm -e vsftpd

操作命令

启动服务
systemctl start vsftpd
systemctl restart vsftpd.service

service vsftpd start
service vsftpd stop
service vsftpd restart


查看服务是否启动
ps -ef|grep vsftpd
netstat -antup|grep ftp

查看状态 systemctl status vsftpd.service
开机自启 chkconfig vsftpd on

/etc/vstfd文件目录下文件:

  1. /etc/vsftpd/vsftpd.conf    Vsftpd服务器的配置文件
  2. /etc/vsftpd/ftpusers        ftpusers 文件 指定哪些用户不能访问 ftp 服务,这些用户是指 Linux 系统用户还是包括虚拟用户?
  3. /etc/vsftpd/user_list     用户列表,当 vsftpd 里 userlist_deny=NO时,只允许这里的用户访问 ftp 服务,注意此时同时也检测 ftpusers 文件;当 vsftpd 里 userlist_deny=YES(默认) 时,不允许这里的用户 访问 ftp 服务
  4. /var/ftp                       匿名用户的默认文件目录

创建用户

使用useradd命令:
useradd username ,默认在/home文件夹下创建一个和username一样名称的文件作为该用户所拥有的文件

useradd xiao   
passwd xiao   #(回车)给用户xiao设置登录密码

创建用户并指定用户目录

在/var 目录下创建一个 www 文件夹,www文件夹中创建一个site文件夹一个data文件夹

cd /var
mkdir -p www/site www/data

创建用户data并指定用户目录为/var/www/da

useradd -d /var/www/data data
passwd da

修改xiao用户的用户目录为/var/www/site

usermod -d /var/www/site xiao 

备注:如果修改xiao的操作失败提示有相关进程在使用这个用户,则先杀死这些进程后再修改

  ps -u xiao | awk '{print $1}' | grep -vi pid | xargs kill -9

 

查看新创建的用户的信息

tail:默认显示指定文件的末尾10行

tail /etc/passwd

/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下
(1):用户名。
(2):密码(已经加密)
(3):UID(用户标识),操作系统自己用的
(4):GID组标识。
(5):用户全名或本地帐号
(6):开始目录
(7):登录使用的Shell,就是对登录命令进行解析的工具。

启用可以登录ftp的用户白名单配置

vim vsftpd.conf 

修改下面几部分

userlist_enable=YES     #启动用户列表
userlist_deny=NO        #决定是否对用户列表的用户拒绝访问ftp 

userlist_file=/etc/vsftpd/user_list

 在user_list中写入 da和xiao这个两个用户

vi user_list

配置vsftpd.conf 锁定根目录

local_root= /var/www        #本地用户登录后自动转到的ftp根目录
chroot_local_user=YES       #将所有用户限定在指定的主目录内
chroot_list_enable=NO       #不启用列外的用户列表
chroot_list_file=/etc/vsftpd/chroot_list  #指定列外的用户列表文件 

chroot_local_user=YES
chroot_list_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时,所有的用户均可以切换到其他目录。
 
 
allow_writeable_chroot=YES    # 允许 chroot 用户具备写权限
 
# 被动模式使用端口范围
 
    pasv_min_port=30000
    pasv_max_port=30100 

连接ftp服务器

连接ftp:

ftp 192.168.36.130

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos搭建ftp服务器 的相关文章

  • 使用 PHP 生成 Windows .lnk 文件

    我正在开发一个项目 其中涉及运行 ProFTPd 的 FTP 服务器和为用户创建帐户的 PHP MySQL 后端 创建帐户后 系统会向用户发送电子邮件 其中包含其帐户详细信息以及下载 FileZilla 或 Cyber Duck 的说明 具
  • 使用 PHP 进行安全 FTP 连接

    我有一个带有登录详细信息的安全 FTP 服务器 我正在尝试使用 PHP 连接到该安全 FTP 服务器ftp ssl connect ftp connect and ftp login函数并将所有参数正确传递给该函数 但我惊讶地发现它没有连接
  • FTP 二进制 x ASCII 自动选择

    我编写了一个 FTP 插件 使用 python 的 ftplib 我想知道确定给定文件是否应该使用二进制或 ASCII 传输方法的最佳方法是什么 换句话说 自动 传输模式 当我收到有关双线的问题报告时 我开始研究这个问题 并且谷歌搜索发现二
  • FTPWebRequest .NET 3.5 与 4

    我有一个应用程序可以与 IBM 大型机建立 FTP 连接 并且一切都工作正常 然后 我针对 NET 4 重新编译 主机不再接受该文件 并给出一条错误消息 指出该文件不存在 或者我没有该文件的权限 这是我用来发送文件的 Ftp FtpWebR
  • 如何将 FTP 目录的内容复制到共享网络路径?

    我需要将 FTP 位置上的目录的全部内容复制到共享网络位置 FTP 任务要求您指定确切的文件名 不是目录 而文件系统任务不允许访问 FTP 位置 EDIT 我最终编写了一个脚本任务 没有什么比恢复一个非常旧的线程更好的了 但是有一个解决方案
  • 如何从 Visual Studio Online 在 FTP 上部署工件?

    我已经在 Visual Studio Online 上设置了自动构建 并且能够在构建下获取工件 现在我想在 FTP 上部署工件 由于我的网站托管在 GoDaddy 上 并且他们为我提供了 FTP 帐户 任何人都可以帮我设置此帐户吗 这可以通
  • 仅在 Azure Web 应用程序中从 FTP 下载文件失败

    我有一个非常基本的代码 可以从 FTP 服务器下载文本文件列表 foreach var fileUri in files try var ftpRequest FtpWebRequest FtpWebRequest Create fileU
  • 如何通过 Python 的请求使用 FTP

    是否可以使用requests与 FTP 站点交互的模块 requests获取 HTTP 页面非常方便 但当我尝试使用 FTP 站点时 我似乎遇到架构错误 我有什么遗漏的吗requests允许我执行 FTP 请求 还是不支持 对于像我一样得到
  • 如何使用 shell 脚本 ftp 多个文件

    我正在尝试使用 shell 脚本将多个文件从一台计算机传输到另一台计算机 下面是我的脚本 ftp nv lt
  • 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同

    System Net WebException 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同 在 System Net FtpWebRequest CheckError 在 System Net FtpWebReque
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke
  • 如何保持 Subversion 和远程服务器(通过 FTP)同步?

    我们很难保持 Subversion 和 FTP 同步 有时我们忘记提交更改并只是将它们推送到 Web 服务器 我们的 svn 文件夹分散在整个 Web 服务器中 有些东西存在于一个地方而不存在于另一个地方 等等 今天我想花点时间解决这个问题
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • 是否可以使用 GitHub Action 和 GitHub FTP Deploy 将 Laravel Web 应用程序部署到共享托管?

    是否可以deploy the Laravel网络应用程序到共享主机使用 GitHub Action 和 GitHub FTP 部署 如果可能的话我应该如何更改 github workflows master yml on push bran
  • 使用 boto3 和 ftplib 将文件从 FTP 复制到 S3 存储桶失败,并显示“500 语法错误,命令无法识别”

    我需要将数据从 FTP 服务器发送到 S3 存储桶 而不将文件保存到本地驱动器 在互联网上 我发现我们可以使用io BytesIO 作为缓冲区 但我的代码失败了 error perm 500 语法错误 命令无法识别 剧本 ftp ftpli
  • 使用 Python ftplib 的 FTPS - 需要会话重用

    因此 我尝试连接到 FTP 服务器以获取目录列表并下载文件 但是之后的第一个命令prot p 函数引发异常 从日志中产生这些错误 get 150 Here comes the directory listing r n resp 150 H
  • 主动\被动模式下 FTP 服务器的适当 iptables 规则

    我在 CentOS6 上安装了 ProFTPD 服务器 如果我使 ftp 本地主机 我可以正确连接 但如果我从外部尝试 我会收到消息 没有到主机的路由 但有一条到主机的路由 因为我是通过 SSH 连接的 我尝试添加以下 iptable 规则
  • vbs脚本通过ftp发送文件并检查/删除原始文件

    我正在尝试通过 ftp 发送文件 然后检查该过程是否成功完成 如果成功 我将删除原始文件并仅保留在 FTP 上的目标文件夹中发送的文件 我设法修补了一个连接到 FTP 并发送文件的脚本 但我不确定如何将原始文件夹与 FTP 上的文件夹进行交
  • Qt 5.0中添加QFtp

    我需要在我的项目中使用 QFtp 类 当我使用 Qt 5 0 进行开发时 我需要从 gitorious 存储库下载该类 https qt gitorious org qt qtftp https qt gitorious org qt qt
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案

随机推荐

  • 自学Python05-学会Python中的函数定义

    亲爱的同学们 今天我们将开始学习 Python 中的函数 函数就像一个魔法盒子 可以让我们在程序中执行一段代码 并且可以反复使用 这样 我们的程序就可以变得更加简洁和易于理解 现在 让我们一起来学习如何使用函数吧 首先 我们需要知道如何定义
  • Linux操作系统之进程命令和库文件

    文章目录 一 有关进程命令 1 ps命令 显示当前终端信息 2 ps ef命令 查看当前终端进程的详细信息 二 前台程序和后台程序模式的切换 1 首先了解前台后台命令 2 前后台的切换 1 kill 命令 2 进程前后台切换 三 runle
  • 第六章习题

    R1 个无线网络运行在 基础设施模式 下是什么含义 如果某网络没有运行在基础设施模式下 那么它运行在什么模式下 这种运行模式与基础设施模式之间有什么不同 在基础结构操作模式下 每个无线主机都通过基站连接到较大的网络 如果未在基础架构模式下运
  • 图灵携手全球机器学习技术大会,拥抱 AGI 变革时代

    备受行业关注的 2023 全球机器学习技术大会 ML Summit 将于10月20 21日在北京金茂威斯汀大饭店隆重举行 此次大会由 Boolan 和 CSDN 联合主办 秉承 全球专家 卓越智慧 的宗旨 特邀近 50 位人工智能与机器学习
  • 判断cuda是否安装成功

    进入环境中 输入以下命令 python import torch torch cuda is available 返回结果如下图
  • sklearn 中的线性回归、岭回归、Lasso回归参数配置及示例

    文章目录 线性回归 引入 重要参数 重要属性 重要方法 例子 岭回归 引入 重要参数 重要属性 重要方法 示例 Lasso 回归 引入 重要参数 重要属性 重要方法 示例 本文主要讲一些sklearn中回归模型的使用 如果需要了解相关理论
  • marquee的滚动属性参数

    null从
  • 泛型编程杂谈

    谈 泛型 GP 之前 先谈一下面向对象 OO OO强调世界是由对象组成的 对象是由方法和属性组成的 个人感觉还应该加上事件 而对象之间又有继承 is a 和组合等 关系 OO很符合我们认识世界的直觉 它以封装 继承和多态为特性 我们在现实工
  • 关于ESP8266自动下载和CH340的几件事

    最近在玩ESP8266 做了些东西 比如考研倒计时器 网络闹钟 网络灯 用手机控制亮度 气象站等等 ESP8266本身挺简单的 倒是这个自动下载电路 我还是第一次玩 以前玩51也用过串口下载 都是自己冷启动 玩STM32用的ST LINK
  • MobileNetV2-SSDLite的安装使用

    前两篇文章已经安装了caffe并切换到ssd分支 同时添加了对ReLU6的支持 接着这里开始安装和使用MobileNetV2 SSDLite 首先安装MobileNetV2 SSDLite git clone https github co
  • 虚拟机ubuntu18.04+opencv4.6.0安装一篇足矣!!【指路合集】【亲测有效】

    写在前面 下面的方法都是本人实测遇到问题时采用的学习到的方法 亲测有效 其他根据教程走没什么问题 希望能有所帮助 本篇分两部分 一部分是虚拟机ubuntu18 04的安装 完整详细教程写在另一篇中 亲测有效 VM虚拟机安装Ubantu18
  • 关于标签的 的target属性

    如果 有一个页面上为这样两个超链接 a href http www baidu com 超链接1 a a href http www sohu com target self 超链接2 a 点击超链接1 的时候会弹出一个页签 内容是 htt
  • 卷积神经网络应用之图像分割

    SPP结构主要学自该博客 深度学习 十九 基于空间金字塔池化的卷积神经网络物体检测 FNC FNC主要做的是基于像素的图像分割预测 其做法是先按照传统的CNN结构得到feature map 将传统的全连接层替换成相应的卷积层 如最后一层特征
  • JSON与文件互转

    JSON转文件 createJsonFile package util import java io File import java io FileOutputStream import java io OutputStreamWrite
  • C++初始化类的对象错误,表达式必须具有类类型,但它具有类型 “类名(*)()“

    如果时创建类的对象的时候 调用了一个无参构造 那么这时候的括号 主函数的创建类的对象的括号 就不要写啦
  • 目标检测(object detection)

    目标检测 目标检测 目标检测的任务 R CNN 目标检测 Overfeat模型 SPPNet Fast R CNN Faster R CNN YOLO介绍 YOLOV2 YOLOV3 SSD算法原理 目标检测 目标检测的任务是找出图像中所感
  • Java技术小册(核心篇)

    核心篇 数据存储 MySQL 索引使用 的注意事项 说说反模式设计 说说分库与分表设计 分库与分表带来的分布式困境与应对之策 说说SQL优化之道 MySQL遇到的死锁问题 存储引擎的 lnnoDB 与 MyISAM 数据库索引的原理 为什么
  • [W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)

    问题 报了warning W pthreadpool cpp cc 90 Warning Leaking Caffe2 thread pool after fork function pthreadpool 并且进程自动停止了 解决 num
  • STM32单片机PID控制数控恒流源-100mA~+100mA输出正负恒流源

    实践制作DIY GC0079 PID控制数控恒流源 一 功能说明 基于STM32单片机设计 PID控制数控恒流源 功能介绍 STM32F103C系列最小系统板 LCD1602显示器 MCP4725 12位DAC MCP3201 12位ADC
  • Centos搭建ftp服务器

    目录 ftp是什么 搭建ftp服务器目的 检查安装vsftpd软件 创建用户 创建用户并指定用户目录 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称 用于在Internet上控制文件的双向传输