[FTP] [笔记]vsftpd 快速安装指南

weixin_38063515 2003-01-19 10:13:18

一直以来,都在用pure-ftpd,看到大家对vsftpd的评论很不错,简单装了一下,把笔记贴出来,请各位大哥多提意见   

vsftpd 快速安装指南

阿土/Aborigen Yin
http://www.bsdbase.com
2003.01.19

参考:
http://vsftpd.beasts.org/
ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-1.1.3/
#源码自带的文档;

#目标:仅仅开放匿名ftp,系统用户不开放ftp权限。
#BTW:如果要虚拟用户,我还是选pure-ftpd;由于ftp使用明文传输,从来都不建议对系统用户开放ftp服务。

mkdir -p /usr/local/src/distfiles
cd /usr/local/src/distfiles
#FreeBSD
#fetch ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.1.3.tar.gz
wget --passive-ftp ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.1.3.tar.gz

tar xfz vsftpd-1.1.3.tar.gz -C ..
cd ../vsftpd-1.1.3

#看看有什么要改的
#vi builddefs.h
make
#看,出来了
ls -l vsftpd
#看看有没有nobody这个用户,没有的话,自己加上。
#要开匿名ftp,要有ftp这个用户,并且,它的$HOME目录ftp用户本身没有写权限。
#ftp:14:50:FTP User:/var/ftp:/sbin/nologin
#nobody:99:99:Nobody:/:/sbin/nologin
vipw

#默认是有这个目录的。
mkdir -p /usr/share/empty

#匿名用户的根目录;
mkdir -p /var/ftp
chown -R root:root /var/ftp
chmod 755 /var/ftp
ls -l /var/ftp

#安装,不用make install
cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
cp vsftpd.conf /etc
cp vsftpd.conf /etc/vsftpd.dist

#配置文件
#vi /etc/vsftpd.conf

#使用standalone模式,不使用xinetd。
listen=YES
#同时在线用户,最多500
max_clients=500
#每ip允许5个用户登录;
max_per_ip=5
#匿名ftp server。
anonymous_enable=YES
#不开放本地用户。
local_enable=NO
write_enable=NO
local_umask=077
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#服务器日志文件;
xferlog_file=/var/log/vsftpd.log
#优化性能
one_process_model=YES
#idle超时30秒;
idle_session_timeout=30
data_connection_timeout=90
accept_timeout=60
connect_timeout=60
#限制匿名用户下载速度50k/s
anon_max_rate=50000
ascii_download_enable=NO
async_abor_enable=YES
ftpd_banner=Welcome to anonymous FTP server.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=NO
anon_world_readable_only=YES
hide_ids=YES
pasv_min_port=40000
pasv_max_port=50000
#end of vsftpd.conf

chmod 600 /etc/vsftpd.conf

#简单的控制脚本;
#vi /usr/local/sbin/vsftpd.sh
#!/bin/sh
case "$1" in

start)
        if [ -x /usr/local/sbin/vsftpd ]; then
                /usr/local/sbin/vsftpd /etc/vsftpd.conf &
                echo . && echo 'VSftp server started.'               
        fi
        ;;

stop)
        killall vsftpd && echo . && echo 'VSftp server stopped.'
        ;;
restart)
        echo .
        echo "Restart VSftp server ......"
        $0 stop
        sleep 30
        $0 start
        ;;
*)
        echo "$0 start | stop | restart"
        ;;

esac
#end of /usr/local/sbin/vsftpd.sh

chmod 700 /usr/local/sbin/vsftpd.sh

#开机自动启动
ln -s /usr/local/sbin/vsftpd.sh /etc/rc.d/rc3.d/S99vsftpd
ln -s /usr/local/sbin/vsftpd.sh /etc/rc.d/rc3.d/K01vsftpd

#FreeBSD
ln -s /usr/local/sbin/vsftpd.sh /usr/local/etc/rc.d
...全文
17 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧