編譯安裝FTP及相關配置

來源:互聯網
上載者:User

第一步、安裝

        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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.