vsftpd服务tar包安装

一般如果有网络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 & 即可。

posted on 2016-11-25 15:13  新月时刻  阅读(5025)  评论(0编辑  收藏  举报

导航