Centos

Centos7:用systemd啟動xinetd服務

  • March 26, 2019

我有一個來自 Centos6 的 xinetd 服務,我想移植到 Centos7 即創建一個 systemd 服務

# cat /etc/xinetd.d/br_rsh 
# default: on
# description: The rshd server is the server for the rcmd(3) routine and, \
#   consequently, for the rsh(1) program.  The server provides \
#   remote execution facilities with authentication based on \
#   privileged port numbers from trusted hosts.
service brshell
{
   port            = 591
   socket_type     = stream
   wait            = no
   user            = root
   log_on_success      += USERID
   log_on_failure      += USERID
   server          = /usr/sbin/in.br_rshd
   disable         = no
}

如果我理解正確,我需要將上述文件分解為兩部分:一個用於 brshell.socket,另一個用於 brshell.service。然後,我需要執行systemctl enable brshell.socket(brshell.service 呢?)

這些文件會是什麼樣子?這些文件會放在哪裡?

謝謝

我假設你已經知道跑步所涉及的所有風險rshd,所以我將跳過我演講的“可怕警告”部分。:-)

如果您的發行版包含您正在執行的程序,則很有可能它已經具有要遷移到的正確 systemd 文件(/usr/lib/systemd/system發行版提供的單元文件位於 CentOS IIRC 中的位置。這是特定於發行版的;例如,我使用的是 Gentoo,所以它們位於/lib/systemd/system我的位置。)

如果您需要製作單元文件,遷移 xinetd 服務非常容易。你是正確的,你需要一個套接字和服務文件。預設情況下,它們都具有相同的基本名稱;但是,這不是要求,只是簡化。對於您的特定情況,請將以下內容放入/etc/systemd/system(這是您應該放置自己創建的單元文件的地方):

brshell.socket

[Unit]
Description=rsh Server Socket

[Socket]
ListenStream=591
Accept=yes

[Install]
WantedBy=sockets.target

brshell.service

[Unit]
Description=rsh Server Daemon
After=network.target

[Service]
ExecStart=/usr/sbin/in.br_rshd

[Install]
WantedBy=multi-user.target

基本上就是這樣!接下來你需要做的就是執行systemd enable brshell.socket(讓它在啟動時自動啟動)和systemd start brshell.socket.

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