准备工具vsftpd-3.0.2.tar.gz
tar -zxvf vsftpd-3.0.2.tar.gz -C /usr/local/src/(拆包到src目录)
cd /usr/local/src/vsftpd-3.0.2/(进入到vsftpd-3.0.2目录)
ls
less INSTALL (查看安装说明--通过安装说明可以非常清楚的了解到安装的步骤)
vim builddefs.h(编辑builddefs.h)
把undef VSF_BUILD_TCPWRAPPERS 改为define VSF_BUILD_TCPWRAPPERS(构建简易防火墙的时候用)
ls -l vsftpd(make之后通过这个命令可以看到vsftpd程序)
[root@localhost root]# useradd nobody(安装vsftpd时要满足要满足vsftpd的先决条件--匿名 帐号一nobody身份登录)
mkdir -pv /usr/share/empty/(创建 空目录)
mkdir -pv /var/ftp/
useradd -d /var/ftp ftp(创建ftp帐号)
chmod og-w /var/ftp(修改权限)
cp vsftpd.conf /etc(拷贝配置文件)
vim /etc/vsftpd.config(编辑)
local_enable=YES,把这一行的注释(#号)去掉(否则,你建立账号登陆时会受到限制)
write_enable=YES 把这一行的注释(#号)去掉
重启服务之后生效,没有控制脚本的话,就用pkill vsftpd
然后重新启动vsftpd服务
./vsftpd &(后台运行)
cd Redhat/
cp vsftpd.pam /etc/pam.d/ftp(指定调用模块接口)
cd /usr/local/sbin/(vsftpd就放在这个目录
)
cd sbin
./vsftpd &(让vsftpd后台运行)
在ftp目录下建立一个目录(防止测试的时候看不到任何东西)
mkdir /var/ftp/pub
配置启动脚本
#!/bin/bash
#descriptionion: ftp server
#chkconfig: - 88 91
VSFTPD=’/usr/local/sbin/vsftpd’
. /etc/init.d/functions
start() {
[-f /var/lock/subsys/ftp ] && echo “vsftpd is starting....”
echo -n “vsftpd is starting......”
sleep 1
$VSFTPD &
[$? -eq 0] &&touch /var/lock/subsys/ftp && echo -e “\033[31m [ok] \033[0m”||echo -e “\033[31m [fail] \033[0m”
}
stop (){
Echo -n “vsftpd is stoping.....”
sleep 1
killproc vsftpd && RETVAL=0||RETVAL=1
[$RETVAL -eq 0] && rm -rf /var/lock/subsys/ftp ||echo -e “\033[31m [fail] \033[0m”
}
status (){
[ -f /var/lock/subsys/ftp ] && echo “vsftpd is running” ||echo “vsftpd is stoped”
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo “Usage:start|stop|restart”
;;
esac
chkconfig --add vsftpd(把vsftpd设置开机启动)
useradd user1
passwd user1
service vsftpd start (启动vsftpd服务)
Netstat -tupln |grep 21(查看21端口是否打开)
ftp 127.0.0.1
输入用户名user1
密码user1
dir(显示ftp目录)