ftp修改服务器配置,ftp服务器的简单配置

2023-05-16

ftp的简单配置

所需环境:redhat enterprise 5.4

1.把防火墙和selinux关了,以免影响后面的试验。

#iptables -F

#setenforce 0

2.安装vsftpd软件包,启动服务,然后查看21号端口是否处于监听状态。

#yum install vsftpd

#service vsftpd start

#netstat -tnlp |grep 21

这样,我们的ftp服务器就可以工作了,在浏览器中输入你的ip就可以访问了。具体的配置的选项,可以参考下面的文章。

3.vsftpd的几个配置文件

1./etc/vsftpd/vsftpd.conf

这个是vsftpd的主配置文件,几乎所有的功能都可以在这里实现

2./etc/pam.d/vsftpd

这是vsftpd使用PAM模块时的相关配置文件,主要用来作为身份认证之用,

还有阻止某些用户账号的功能也是通过这个文件实现的。

3./etc/vsftpd/ftpusers

这个文件与上面那个文件有关系,也就是PAM模块/etc/pam.d/vsftpd 中所指定

的那个无法登录的用户的配置文件,在这里还可以自己修改的,不必非要使用默认的。

4./etc/vsftpd/user_list

这个文件是否能够生效与/etc/vsftpd/vsftpd.conf文件中定义的两个参数有关

分别是userlist_enable,userlist_deny,这个文件是否起作用与主配文件vsftpd.conf

内的“userlist_deny={YES|NO}”有关

5./etc/vsftpd.chroot_list,这个文件默认是不存在的,所以需要自己手动建立,这个     文件的主要功能是将某些用户锁在它们的家目录下,这个文件是否生效与主配文件

/etc/vsftpd/vsftpd.conf中的两个参数有关

分别是chroot_list_enable,chroot_list_file两个参数。

6./usr/sbin/vsftpd

这个就是vsftpd的主要执行文件,vsftpd只有这一个执行文件。

上面这些文件就是vsftpd的所有配置文件了。

4.简单说明一下vsftpd.conf的设置说明。

与主机相关的设置

(1) connect_from_port_20=YES|NO

ftp工作在主动模式下,数据传输使用的端口

(2) listen_port=21

vsftpd命令传输的端口

(3)pasv_enable=YES|NO

启动被动连接模式,尽量设为YES

(4)write_enable=YES|NO

是否允许用户上传数据

(5)connect_timeout=60

单位是秒,在主动模式下,发出的连接请求在60秒内得不到客户端的响应,就不再等待并

强制断线

(6)accept_timeout=60

单位是秒,在被动模式下,服务端等待客户端连接,如果超过60秒还没有回应,那么就要强制断线,不再等待。这个设置与connect_timeout类似,只不过一个是管理主动连接,一个

管理被动连接

(7)data_connection_timeout=300

不论是主动连接还是被动连接,只要服务器与客户端的数据连接已经建立,但可能是由于网络等问题,导致在300秒内还没有顺利的完成数据的传输,那么客户端的连接就会被vsftpd强制断开。

(8)idle_session_timeout=300

如果在300秒内还没有命令操作,则强制断开

(9)max_clients=0

如果vsftpd是以stand alone方式工作的,那么这个设置项目可以设置在同一时间内最多有多少client可以同时连上vsftpd,等于0则表明不作限制。尽量把这个值设置一下,不要等于0

(10)pasv_max_port=0,pasv_min_port=0

与被动模式下连接的端口有关,如果想使用65400 ~~ 65410 这个11个端口来进行被动连接

,可以这样设置:pasv_min_port=65400,pasv_max_port=65410

如果是0的话,则表示随机选取而不用限制。

与实体用户相关的设置

(1)guest_enable=YES|NO

若这个值设为YES,那么任何非匿名用户登录的账号,均会被假设为guest访客。

访客在vsftpd中默认取得ftp这个用户的相关权限,但可以通过guest_username来修改

(2)guest_username=ftp

在guest_enable=YES时才会生效,指定访客的身份而已。

(3)local_enable=YES|NO

这个值设为YES时,/etc/passwd中的账号才可以以实体用户的方式登录vsftpd主机。

(4)chroot_local_user=YES|NO

将用户锁在它们的默认目录下,这个设置在vsftpd中默认为NO,因为下面两个设置项,

所以可以不使用它。

(5)chroot_list_enable=YES|NO

是否将某些实体用户限制在他们的默认目录下,默认为NO

(6)chroot_list_file=/etc/vsftpd/chroot_list

如果chroot_list_enable=YES,那么写在这个文件中的账号将锁在他们的默认家目录下,

一行一个账号即可。

(7)userlist_enable=YES|NO

是否启用vsftpd的阻止机制来阻止某些不受欢迎的账号登陆ftp服务器。与下面两个设置项有关。

(8)userlist_deny=YES|NO

这个设置只有userlist_enable=YES时才起作用,且当用户账号写入到某个文件中时,在该文件中的用户将无法登陆ftp服务器的。这个文件的设置与下面选项有关

(9)userlist_file=file-path

若上面的userlist_deny=YES时,这里配置文件才有用处,在这个文件内的账号都无法登陆主机。

与匿名用户登陆的设置值

(1)annonymous_enable=YES|NO

设置为允许anonymous登录ftp主机,默认为YES,下面的所有相关设置都需要将此项设置为

annonymous_enable=YES时才能生效

(2)anon_world_readable_only=YES|NO

仅允许anonymous具有下载可读文件的权限,默认为YES

(3)anon_other_write_enable=YES|NO

是否允许anonymous具有写入的权限?默认为NO,

(4)anon_mkdir_write_enable=YES|NO

是否让anonymous具有建立目录的权限,如果为YES,则anon_other_write_enable必须为YES

才行。

(5)anon_upload_enable=YES|NO

是否让anonymous具有上传数据的权限,默认为NO,如果要设为YES,则anon_other_write_enable必须为YES才行

(6)anon_umask=077

限制匿名用户的权限,如果是077,则匿名用户上传上来的文件权限为-rw------

其它的配置

tcp_wrappers-YES|NO

pam_service_name=vsftpd

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

ftp修改服务器配置,ftp服务器的简单配置 的相关文章

  • Java:从 FTP 服务器访问文件

    我有一个 FTP 服务器 里面有一堆文件夹和文件 我的程序需要访问该服务器 读取所有文件并显示它们的数据 出于开发目的 我一直在使用硬盘驱动器上 src 文件夹中的文件 但现在服务器已启动并运行 我需要将软件连接到它 基本上我想要做的是获取
  • 使用 .NET 进行选择性 FTP 下载

    我有一个 ftp 构建站点 新构建将在其中更新 它将在每个新构建的特定 ftp 位置创建一个名为 Build XXXXX 的新文件夹 我需要从 Build XXXXX 目录中的某个位置下载构建版本 例如 Builds Build XXXXX
  • 使用 PHP 生成 Windows .lnk 文件

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

    我有一个应用程序可以与 IBM 大型机建立 FTP 连接 并且一切都工作正常 然后 我针对 NET 4 重新编译 主机不再接受该文件 并给出一条错误消息 指出该文件不存在 或者我没有该文件的权限 这是我用来发送文件的 Ftp FtpWebR
  • php ftp 检查文件夹是否存在总是返回创建文件夹错误

    有人可以告诉我这段代码中做错了什么吗 if id if is dir public html tem pasta path pics id echo pasta j existia destination file public html
  • 通过 FTP over TLS/SSL 连接到未经认证的主机

    我从中获取文件的供应商正在从 FTP 更改为基于 SSL 的 FTP 我正在尝试更新我的代码net ftp to net ftptls 我需要连接的新主机未经认证 我的脚本报告此错误 主机名与服务器证书不匹配 供应商不会修复此问题 看着 u
  • Groovy 与 Grape 和 AntBuilder 类加载器问题

    我想使用 groovy 编写一个小 ftp 脚本 并找到了这篇文章http www hhhhq org blog 2009 05 01 ftp using groovy and ant http www hhhhq org blog 200
  • Java FTPS 无法检索文件列表(FileZilla 客户端工作正常)

    我正在使用 Apache Commons Net v3 5 和 Java 8 连接到远程 FTPS 站点 即在互联网上 我可以轻松连接 Windows 10 计算机上的 FileZilla 客户端 但我的 Java 程序无法完成相同的步骤
  • 如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输。有任何想法吗?

    Java 7 阻止 Windows Vista 和 7 上的 FTP 传输 在 FTP 中 在传输文件之前 必须发送 PORT 或 PASV 命令 一旦发送其中一个命令 Windows 防火墙就会关闭发送该命令的套接字 仅当防火墙打开并且
  • 使用 Python 了解何时已从 FTP 源完全接收文件

    我正在使用 Python 开发一个执行以下操作的应用程序 监视特定目录并监视文件 转移到它 文件完成传输后 运行一些 文件上的外部程序 我开发这个应用程序的主要问题是知道文件何时完成传输 据我所知 该文件将通过 SFTP 传输到特定目录 P
  • 无法使用 PHP ftp_connect() 连接 FTP 服务器

    我试图使用 PHP 的 ftp connect 函数连接 ftp 服务器 如下所示 但它返回这个错误 警告 ftp connect function ftp connect php network getaddresses getaddri
  • 当没有文件可供下载时,如何避免 SSIS FTP 任务失败?

    我正在使用 SQL Server 2005 并在 SSIS 中创建 ftp 任务 有时会有文件需要通过 ftp 传输 有时则不会 如果没有文件 我不希望任务或包失败 我已将从 ftp 任务到下一个任务的箭头更改为 完成 以便包运行 我已将允
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke
  • 使用 boto3 和 ftplib 将文件从 FTP 复制到 S3 存储桶失败,并显示“500 语法错误,命令无法识别”

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

    我正在编写一个脚本 用于轮询 FTP 站点上的文件并在可用时将它们下载到本地 文件由各个来源方随机存放到 FTP 站点 我需要一种方法能够在下载之前检测 FTP 站点上的文件是否已被源方完全传输 关于如何解决这个问题有什么想法吗 如果您可以
  • commons net ftp 死锁?

    我有一个进程应该每 5 分钟将文件 ftp 到远程位置 它似乎已经卡住了几个小时并且没有发送文件 我进行了线程转储来查看发生了什么 这是我的线程的状态 SPPersister prio 6 tid 0x03782400 nid 0x16c4
  • 在python中浏览ftp目录

    我正在尝试使用 ftplib 使用 Python 3 从 ftp 服务器下载多个文件夹 我有一个文件夹名称列表 它们都位于文件夹 root 中 问题是我不知道如何浏览它们 当我使用cwd我可以进入更深的目录 但是如何再次起来呢 我正在尝试得
  • 如何使用nodeJS SFTP客户端列出所有子目录?

    有趣的节点 JS ssh2 sftp client 我想列出给定路径中的所有目录及其子目录 let sftp new ssh2SftpClient console log sftp sftp connect host xx xxx xxx
  • 主动\被动模式下 FTP 服务器的适当 iptables 规则

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

    我在程序开始时打开与 FTP 服务器的连接 在对服务器执行操作之前 我想检查连接是否已成功建立 最简单快速的方式 因此如果连接消失 我将尝试再次连接 我用这段代码来做到这一点 private boolean checkConnection

随机推荐