Ftp

用 xinetd 啟動 FTP

  • November 7, 2016

我正在使用 GNU 的 Inetutils FTP 並已將其全部設置好,只是在我打開系統時它不會自動啟動。為了讓它工作,我必須使用“ftpd -D”啟動獨立。我發現我已經執行了 xinetd,我相信我需要使用它來自動啟動守護程序。

在 /etc/xinetd.d/ 目錄中,我添加了一個名為“ftp”的文件。裡面的內容是:

service ftpd
{
   socket_type = stream
   protocol = tcp
   wait = no
   user = root
   server = /usr/bin/ftpd
   instances = 20
}

執行 whereis 顯示 ftpd 位於 /usr/bin/ftpd

添加後,我重新載入了配置並重新啟動了伺服器。

/etc/init.d/xinetd reload
/etc/init.d/xinetd restart

我的 xinetd.conf 文件如下:

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{
   instances           = 60
   log_type            = SYSLOG authpriv
   log_on_success      = HOST PID
   log_on_failure      = HOST
   cps                 = 25 30
}

includedir /etc/xinetd.d

我的系統中還有一個 inetd.config 文件,所以我添加了以下內容,儘管它似乎沒有執行 inetd。

ftp     stream  tcp     nowait  root    /usr/bin/ftpd   in.ftpd -l -a

當我嘗試連接到我的 ftp 伺服器時,我收到錯誤“ ECONNREFUSED - Connection denied by server ”。有誰知道為什麼 xinetd 沒有自動啟動它?

我從這個網站獲得了我的資訊: http ://www.cyberciti.biz/faq/linux-how-do-i-configure-xinetd-service/

我想到了。萬一其他人將來遇到這個問題,我忘了指定服務使用的埠,將服務名稱更改為 ftp 並將禁用設置為 no。這是我的最終服務文件:

service ftp
{
   port = 21
   disable = no
   socket_type = stream
   protocol = tcp
   wait = no
   user = root
   server = /usr/bin/ftpd
   instances = 20
}

為了使日誌記錄正常工作,我使用了以下命令:

/usr/sbin/xinetd -filelog /var/log/xinetd -f /etc/xinetd.conf

service (ftp)=> 您可以在 c:/services 文件中看到服務名稱,請檢查

{
   port = 21
   disable = no
   socket_type = stream
   protocol = tcp
   wait = no
   user = root
   server = /usr/bin/ftpd
   instances = 20
}

引用自:https://unix.stackexchange.com/questions/207348