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についてはどうですか?)
これらのファイルはどのように見え、これらのファイルはどこに配置されますか?
ありがとうございました
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
を実行することだけです。