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

Linux编译安装vsftpd服务器(本地用户验证方式)

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。下面我们一步一步介绍如何编译安装vsftpd和配置

Linux vsftpd编译安装和配置允许本地用户登录FTP

1、下载vsftpd源码

wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz

2、编译vsftpd源码
64位的系统编译之前先要执行cp /lib64/libcap.so.1 /lib/libcap.so.1命令:

代码如下:

tar xzvf vsftpd-2.3.4.tar.gz
cd vsftpd-2.3.4
make
make install

3、配置vsftpd

代码如下:

cp vsftpd.conf /etc
cp RedHat/vsftpd.pam /etc/pam.d/ftp
sed i 's/anonymous_enable/#anonymous_enable=YES/g' /etc/vsftpd.conf
sed i 's/#local_enable=YES/local_enable=YES/g' /etc/vsftpd.conf
sed i 's/#write_enable=YES/write_enable=YES/g' /etc/vsftpd.conf
sed i 's/#local_umask=022/local_umask=022/g' /etc/vsftpd.conf
sed i 's/#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd.conf

4、启动vsftpd并设置开机启动

/usr/local/sbin/vsftpd &
sed -i '$a\/usr/local/sbin/vsftpd &' /etc/rc.d/rc.local

5、添加FTP用户(用户名:ftpuser ftp根目录/home/wwwroot/ftpuser)

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

本地用户验证方式

(1)下载文件

wget http://jaist.dl.sourceforge.net/project/buluoos/0.1/src/vsftpd-2.2.2.tar.gz
tar zxvf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2

(2)编辑程序代码。用tcp_wrappers验证方式,取消PAM验证。

sed -i 's/undef VSF_BUILD_TCPWRAPPERS/define VSF_BUILD_TCPWRAPPERS/g' builddefs.h
sed -i 's/define VSF_BUILD_PAM/undef VSF_BUILD_PAM/g' builddefs.h

(3)安装
make -j 8

(4)添加系统用户“nobody”(此用户可能已经存在)

useradd nobody

(5)创建目录“/usr/share/empty”(此目录可能已经存在)

mkdir /usr/share/empty/

(6)安装vsftpd配置文件,可执行程序。

install -m 644 vsftpd.conf /etc/vsftpd.conf
install -m 755 vsftpd /usr/local/sbin/vsftpd
install -m 644 vsftpd.8 /usr/share/man/man8
install -m 644 vsftpd.conf.5 /usr/share/man/man5

(7)编辑配置文件

cat >>/etc/vsftpd.conf< anonymous_enable=NO
local_enable=YES
write_enable=YES
tcp_wrappers=YES
EOF

(8)启动vsftpd

/usr/local/sbin/vsftpd /etc/vsftpd.conf &

* 安装后使用系统用户登录,最好是使用运行WEB服务器的用户,这样可以避免上传之后再修改属主属组和权限。
* 安装文件下载地址不在本地,如果失效,可以自行搜索个下载地址,其他安装步骤不影响。


推荐阅读
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • 【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库
    【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • Linux网络配置文件详解及常见命令
    本文详细介绍了Linux系统中网络配置文件的作用及其配置方法,并提供了常用的网络管理命令,帮助用户更好地理解和管理网络配置。 ... [详细]
  • 网络安全实验:Telnet与SSH服务对比及抓包分析
    本实验旨在对比Telnet和SSH两种安全通信协议的服务差异,并通过搭建服务器和使用Wireshark抓包工具进行详细分析。 ... [详细]
  • 前端开发PPT页面与评论区展示优化
    本文介绍了如何在前端开发中实现一个类似于StackOverflow样式的PPT展示页面和评论区,提供了项目源代码及在线演示链接,并分享了开发过程中遇到的挑战及其解决方案。 ... [详细]
author-avatar
ciaos
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有