包括vsftpd的yum安装、源码安装、服务启动、停止,以及最终的服务控制脚本
vsftpd启动:
启动脚本:/etc/rc.d/init.d/vsftpd
或者直接执行可执行文件/usr/sbin/vsftpd
安装 开启:
yum –y install vsftpd
which vsftpd //查看对应可执行文件的位置
/usr/sbin/vsftpd & //执行
netstat -tnlp //查看端口情况 -t tcp -u udp -n number -l listening -p pid哪个进程打开的
关闭:
killall vsftpd
或者ps aux | grep vsftpd 再关闭
源码编译安装:
现有开发环境:yum grouplist
查看是否有development libraries和tools
yum groupinstall “Development Libraries”
// 现装tools再装libraries
下载:
tar xf vsftpd-2.3.5.tar.gz
cd vsftpd-2.3.5 //无conf文件 不需配置
ls //有个builddefs.h 可以设置(不必须)#define启用 undef不启用 关键的PAM 暂时禁用
make
make install //无配置文件 此处可以看见安装到/usr/local/sbin/vsftpd而不是/usr/sbin/vsftpd
mkdir /etc/vsftpd //手动配置
ls //还在vsftpd-2.3.5目录下 有个vsftpd.conf文件为配置文件样本
cp vsftpd.conf /etc/vsftpd
运行条件:
id nobody
id ftp
finger ftp //查看家目录是否为/var/ftp
运行指令:
/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf & //告诉它配置文件在哪 后台运行
查看状态:
netstat –tnlp
写服务控制脚本:
此种安装的vsftpd在/etc/rc.d/init.d下不会生成脚本:
需要自己写脚本:(在function那一节中有讲解)
例:vsftpd.sh 在家目录下:
LOCKFILE=/var/lock/subsys/vsftpd
start() {
[ ! –e $LOCKFILE ] && /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf & //注意如果$LOCKFILE已存在那么不会运行
[ $? –eq 0 ] &&touch $LOCKFILE && return 0 || return 1
}
stop() {
[ ! –e $LOCKFILE ] && killall vsftpd
[ $? –eq 0 ] && return 0 || return 1
}
case $1 in
start)
start
[ $? –eq 0 ] && echo “starting vsftpd”
;;
stop)
stop
if [ $? –eq 0 ]; then
echo –e “stop ok”
else
echo –e “stop failed”
fi
;;
restart)
stop
sleep 1
start
;;
*)
echo “Usage:’basename $0’ {start|stop}” //basename 基名,最后一段的名字
;;
esac
####################################################
cp vsftpd.sh /etc/rc.d/init.d/vsftpd //此时还不可以使用service命令控制,start可以,stop不可
chkconfig –list vsftpd 报错
应该编辑脚本加一些信息:
在头部增加:
# vsftpd ftp server
# chkconfig:2345 65 35
# description:ftp server
# config:/etc/vsftpd/vsftpd.conf
并执行:chkconfig –add vsftpd