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
}

私が正しく理解したら、上記のファイルを2つの部分に分割する必要があります。 1つはbrshell.socket用、もう1つはbrshell.service用です。それから実行する必要がありますsystemctl enable brshell.socket(brshell.serviceはどこにありますか?)

このファイルはどのような形で、どこに移動しますか?

ありがとう

答え1

私はあなたがすでにランニングに関連するすべてのリスクを理解していると仮定しているので、rshdプレゼンテーションの「怖い警告」部分をスキップします。 :-)

ディストリビューションに実行中のプログラムが含まれている場合は、移行する正しいシステムファイルがすでに存在する可能性が高くなります(/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

関連情報