热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

vsftpd服务器的安装与配置详解

最近由于实验室的网关机崩了,所以以前的vsftpd服务器也就不能正常用了,为了恢复实验室ftp功能,就不得不重新安装vsftpd服务器。为了下一次遇到同样的问题的时候能够迅速的解决问题,所以在这里把自己摸索一天的东西写下来作为以后恢复ftp服务器做参考。1

最近由于实验室的网关机崩了,所以以前的vsftpd服务器也就不能正常用了,为了恢复实验室ftp功能,就不得不重新安装vsftpd服务器。为了下一次遇到同样的问题的时候能够迅速的解决问题,所以在这里把自己摸索一天的东西写下来作为以后恢复ftp服务器做参考。

1、安装vsftpd服务器

 安装vsftpd服务器只需要简单的一条命令就可以完成:sudo apt-get install vsftpf 就这样vsftpd服务器就在你的机子上落脚了,接下来是配置vsftpd服务器,这才是最关键的部分。

2、配置vsftpd

主要是通过sudo gedit /etc/vsftpd.conf来修改vsftpd的内容(主要就是按照相应的需求把相应的#去掉),内容如下:

# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
# 注销语句以 xinetd 方式运行
listen=YES
# 上传总开关(全局控制)
write_enable=YES
# 接受匿名用户,默认无密码请求
anonymous_enable=YES
# 接受本地用户
local_enable=YES
# 本地用户上传文件(包括目录)的 umask
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
local_umask=022
# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载
anon_upload_enable=YES
# 匿名用户上传文件(包括目录)的 umask
# 注意点同 local_umask
anon_umask=022
# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小
anon_mkdir_write_enable=YES
# 允许匿名用户删除/重命名文件等操作
#anon_other_write_enable=YES
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
dirmessage_enable=YES
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
xferlog_enable=YES
# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES
# 改变用户上传文件的所有者
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
# 日志使用标准 xferlog 格式
#xferlog_std_format=YES
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600
# login 时的欢迎信息
ftpd_banner=Welcome to feifei FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
chroot_local_user=YES
# 设置为 YES 则下面的控制有效
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

local_root=/srv/ftp

然后保存文件。

重启vsftpd服务器:sudo /etc/init.d/vsftpd restart 或者用命令:service vsftpd start(stop)(注意用这个命令的时候必须在root权限的时候才可以。)来启动或停止vsftpd服务器。

完成以上的步骤之后你就可以再浏览器中输入你的ftp://你的ip地址     就可以访问你的ftp文件了(有可能这个时候会跳出一个对话框提示你输入用户名和密码:这个时候只要你输入你主机的用户名和密码就可以了(比如我的是haixian 123456))。注意这个时候显示的是默认的/srv/ftp目录的内容。如果你不想把这个目录作为共享的目录,想把别的目录作为共享目录的话操作如下:(比如你想共享/mnt/ftp目录)

修改/etc/vsftpd.conf文件(注意这个时候修改该文件必须要在你要共享的目录(这里是/mnt/ftp)下面执行vi /etc/vsftpd.conf命令),主要是修改最后一行,把local_root后面的目录修改成你想要共享的目录,比如我这里修改成local_root=/mnt/ftp 同时在加上两行

chroot_local_user=YES

anon_root=/mnt/ftp(这个也是你要共享的目录)

然后保存,重启vsftpd服务器。在访问就会显示/mnt/ftp目录下的内容了。

注意1:如果你不想用你的主机名和密码来作为别人登录ftp服务器的话,你可以再建一个用户来作为别人专门登录ftp服务器用。具体操作如下:

#useradd -G ftp -d /目录名  -M 用户名

#passwd 用户名 然后输入两次相同的密码就可以完成用户的建立

#chown 用户名.ftp  /目录名  -R

#chmod 750  /目录名 -R

完成以上操作之后就可以再浏览器中输入ftp://你的ip地址   这个时候跳出提示叫你输入用户名和密码时,你就可以用刚才建立的用户名和密码来进行登录了。大致建立vsftpd服务器就这么东西吧,还有好多细节我也不是太明白,只是简单地把服务器给搭建起来了可以用了。以后再想到什么在增加吧。


推荐阅读
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 邮件(带附件,模拟文件上传,跨服务器)发送核心代码1.测试邮件发送附件接口***测试邮件发送附件*@parammultipartFile*@return*@RequestMappi ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
author-avatar
手机用户2502856553
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有