Centos7:使用systemd启动xinetd服务

Centos7:使用systemd启动xinetd服务

我有一个来自 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呢?)

这些文件会是什么样子以及这些文件会放在哪里?

谢谢

答案1

我假设您已经了解跑步涉及的所有风险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.

相关内容