您的位置:首页 > 编程语言 > PHP开发

vsftpd的不同安装方式及服务控制脚本

2012-07-16 14:28 363 查看
包括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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: