一般如果有网络ubuntu直接apt-get install 安装vsftpd服务即可。

没网络只能下好vsftpd的tar包自己安装配置。

1. 解压

tar -xvf vsftpd-3.0.2.tar.gz //解压

cd vsftpd-3.0.2 //进入解压后的目录

2. 提供安装vsftpd服务的前提条件(根据上面more INSTALL的安装说明)

//需添加一个nobody用户。如果已有nobody用户,则不需要添加。可以用命令 cat /etc/passwd | grep nobody 来查看
useradd nobody mkdir /usr/share/empty //vsftpd服务器需要一个empty的空目录放在/usr/share/下。如果存在就不需要了

如果需要开启匿名用户访问,需要做以下几步:

mkdir /var/ftp //创建匿名用户使用的目录

//创建ftp用户并指定家目录为/var/ftp,如果创建提示:user ftp exists(FTP用户存在)就表示此用户已经存在。
useradd -d /var/ftp ftp

3. 编译安装

make //编译二进制文件
make install //编译完后进行安装

Q1: 在执行make时出现了问题:

sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0x109): undefined reference to `crypt'
sysdeputil.c:(.text+0x13a): undefined reference to `crypt'
collect2: ld 返回 1
make: *** [vsftpd] 错误 1

A1:

vi Makefile
LIBS = `./vsf_findlibs.sh` # 在此行末尾增加 -lcrypt 变成
LIBS = `./vsf_findlibs.sh` -lcrypt

Q2:

install: cannot create regular file `/usr/local/man/man8/vsftpd.8': No such file or directory
install: cannot create regular file `/usr/local/man/man5/vsftpd.conf.5': No such file or directory
make: *** [install] Error 1

A2:

mkdir /usr/local/man/man5
mkdir /usr/local/man/man8

4. 进行配置

cp vsftpd.conf /etc/        //将默认配置文件拷贝到/etc
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd //为了让vsftpd支持本地用户登陆,将身份认证模块文件拷贝到/etc/pam.d vi /etc/vsftpd.conf
//进入vsftpd.conf进行配置如下
1. listen=yes //vsftpd工作在standalone模式
2. anonymous_enable=yes //允许匿名用户登陆
3. local_enable=yes //允许本地用户登陆
4. pam_service_name=vsftpd //使用PAM认证 /* vsftpd有两种工作模式:standalone和xinetd守护进程模式,第1行listen=yes就是让其工作在standalone模式下
* 此种模式每次修改配置文件必须重启vsftpd服务才会生效*/ cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8 /usr/local/sbin/vsftpd & //后台启动vsftp

5. 关闭ftp服务

killall vsftpd    //或是 pkill vsftpd
pgrep vsftpd //查看vsftpd服务器是否已经关闭 开机自启动
用vi打开etc/rc.local在里面加入/usr/local/sbin/vsftpd & 即可。

最新文章

  1. 常用[js,css,jquery,html]
  2. 解决Window Azure: Failed to start Development Storage: the SQL Server instance ‘localhost\SQLExpress’ could not be found.
  3. HDU-4455 Substrings(DP)
  4. 自学Python的点滴
  5. 判断联网wifi
  6. frontend http 前端名字定义问题
  7. FORM提交请求后自动打开输出EDITOR_PKG.REPORT
  8. RESTClient
  9. 【数据库】mysql数据库索引
  10. moment.js常用时间示例,时间管理
  11. 初学JSP
  12. python14 常用模块 二
  13. POJ 1704 Georgia and Bob(阶梯Nim博弈)
  14. JS 单线程和事件循环
  15. HTML5:图片、音乐和视频
  16. Eclipse更新maven项目仓库依赖
  17. LeetCode 709 To Lower Case 解题报告
  18. Django配置https协议
  19. Using QuickExec
  20. 正则表达式的Wed验证应用(40)

热门文章

  1. Linux系统443端口被占用无法启动解决办法
  2. js正则表达式之中文验证(转)
  3. CentOS 6.5 源码安装subversion-1.8.8,附加mod_dav_svn模块
  4. LeetCode 137 Single Number II(仅仅出现一次的数字 II)(*)
  5. 几个免费的DNS地址
  6. UIBarButtonSystemItem
  7. 从服务端架构设计角度,深入理解大型APP架构升级
  8. 算法笔记_074:子集和问题(Java)
  9. linux下Oracle11g RAC搭建(二)
  10. Cannot make a static reference to the non-static method的解决方法