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
。