wget http://xiazai.xiazaiba.com/Soft/V/vsftpd-2.3.4.tar.gz
tar xf vsftpd-2.3.4.tar.gz
cd vsftpd-2.3.4
make
到这里可能会出现以下类似的错误:
sysdeputil.c:(.text+0x109): undefined reference to `crypt'
vi Makefile
找到
LIBS = `./vsf_findlibs.sh`
修改为
LIBS = `./vsf_findlibs.sh` -lcrypt
重新执行make即可。
make install
这一步可能会出现一下错误:
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
手动创建这两个目录即可,执行如下命令:
mkdir -p /usr/local/man/man8/
mkdir -p /usr/local/man/man5/
重新make install即可
创建ftp相关的账户
useradd -d /var/ftp ftp
useradd nobody
拷贝配置文件:
cp vsftpd.conf /etc/
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
配置用户登录模式
vsftpd支持两种用户登录方式:系统用户、虚拟用户
系统系统即支持使用linux本身的用户登录ftp
虚拟用户表示vsftpd自己创建一个用户库,与linux系统用户完全隔离
个人比较系统用系统用户登录,配置方式如下:
1、拷贝身份验证模块文件,让vsftpd支持本地用户登录
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
2、修改刚才拷贝的配置文件
vi /etc/vsftpd.conf
添加
pam_server_name=vsftpd
值需要与前面拷贝的pam文件的文件名相同
即可支持本地用户登录。
启动vsftpd:
/usr/local/sbin/vsftpd &
支持文件上传/下载:
vi /etc/vsftpd.conf
其他命令:
killall vsftpd 停止vsftpd
pgrep vsftpd 查看vsftpd是否在运行
FTP常用命令
ftp xxx.xxx.xxx.xxx
或者
ftp
open xxx.xxx.xxx.xxx
打开远程ftp服务器,输入账号密码后即可登录
ls - 列出当前目录的文件
cd - 切换目录
put xxx 上传本地文件
get xxx xxx 下载文件
bin 切换到二进制传输模式,非文本文件一定要使用该模式传输
asc 切换到ascii传输模式
比较乱。。改天整理下