编译安装FTP及相关配置

来源:互联网 发布:手机立体声软件 编辑:程序博客网 时间:2024/05/08 00:51

第一步、安装

        1. 从https://security.appspot.com/vsftpd.html下载vsftpd.tar.gz;

        2. 执行以下命令:

tar -zxvf vsftpd-xx.tar.gzcd vsftpd-xx

        3. 编辑Makefile文件,编辑结果如下所示:

# Makefile for systems with GNU toolsCC      =       gccINSTALL =       installIFLAGS  = -idirafter dummyinc#CFLAGS = -gCFLAGS  =       -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \        -Wall -W -Wshadow -Werror -Wformat-security \        -D_FORTIFY_SOURCE=2 \        #-pedantic -WconversionLIBS    =       `./vsf_findlibs.sh`LINK    =       -Wl,-sLDFLAGS =       -fPIE -pie -Wl,-z,relro -Wl,-z,nowOBJS    =       main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \                tunables.o ftpdataio.o secbuf.o ls.o \                postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o \    banner.o filestr.o parseconf.o secutil.o \    ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o \    tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o \    ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o \    seccompsandbox.o.c.o:        $(CC) -c $*.c $(CFLAGS) $(IFLAGS)vsftpd: $(OBJS)        $(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS)install:        if [ -x /usr/local/sbin ]; then \                $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \        else \                $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi        if [ -x /usr/share/man ]; then \                $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \                $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \        elif [ -x /usr/local/man ]; then \                $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \                $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \        else \                $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \                $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi        if [ -x /etc/xinetd.d ]; then \                $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; ficlean:        rm -f *.o *.swp vsftpd

        4. 执行以下命令:

makels -l vsftpduseradd nobodymkdir /usr/share/emptymkdir /var/ftpuseradd -d /var/ftp ftpchown root.root /var/ftpchmod og-w /var/ftpcp vsftpd.conf.5 /usr/local/man/man5cp vsftpd.8 /usr/local/man/man8cp vsftpd /usr/local/sbin/vsftpdmake installcp vsftpd.conf /etc

        5. 启动服务,测试登录

启动服务:/usr/local/sbin/vsftpd测试登录ftp localhost用户名为ftp,密码为空

第二步:修改端口

        1. 修改/etc/vsftpd.conf,在末尾添加:

listen_port=801

        表示将端口号修改为801。

        2. 编辑/etc/services文件,将“ftp 21/tcp”改为“ftp 801/tcp”。

        3. 重启FTP服务。


第三步:设置密码登录

        1. 修改vsftpd.conf,把anonymouns=yes改成anonymouns=no
        2. useradd -d /var/ftp test
        3. passwd test
        4. 重启vsftpd即可


第四步:有防火墙的外网访问

        FTP访问包括请求接口和数据库连接接口,对FTP的访问包括PASV和PORT两种方式,我们通常会用PASV方式,所以除暴露FTP的访问端口(即listen_port的值)外,还需要暴露PASV指定的端口,在vsftpd.conf中添加以下配置:

listen_port=30pasv_enable=YESpasv_min_port=55443pasv_max_port=55443

        表赤FTP端口是30,数据访问端口是55443,对外只需要暴露这两个端口即可用外网访问FTP。

0 0
原创粉丝点击