Centos7: Iniciando o serviço xinetd com o systemd

0

Eu tenho um serviço xinetd da Centos6 e eu quero portar para o Centos7, ou seja, criar um serviço 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
}

Se eu entendi corretamente, eu preciso dividir o arquivo acima em duas partes: uma para brshell.socket e outra para brshell.service. Então, eu preciso executar systemctl enable brshell.socket (e quanto a brshell.service?)

Como seriam esses arquivos e para onde iriam esses arquivos?

Obrigado

    
por ealeon 01.05.2018 / 16:59

1 resposta

1

Suponho que você já conheça todos os riscos envolvidos na execução de rshd , por isso vou ignorar a seção "avisos terríveis" da minha palestra. : -)

Se a sua distribuição inclui o programa que você está executando, há uma strong chance de que ele já tenha os arquivos systemd corretos para migrar para ( /usr/lib/systemd/system é onde os arquivos de unidades fornecidos pela distribuição estão localizados no CentOS IIRC. distro-specific, por exemplo, eu uso o Gentoo, então eles estão localizados em /lib/systemd/system para mim.)

Se você precisa criar os arquivos da unidade, é muito fácil migrar um serviço xinetd. Você está correto em que você precisa de um arquivo de soquete e serviço. Por padrão, ambos têm o mesmo nome base; no entanto, isso não é um requisito, apenas uma simplificação. Para o seu caso em particular, coloque o seguinte em /etc/systemd/system (é nesse local que você deve colocar arquivos de unidade criados por você mesmo):

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

Isso é basicamente isso! Tudo o que você precisa fazer é executar systemd enable brshell.socket (para que ele seja iniciado automaticamente na inicialização) e systemd start brshell.socket .

    
por 01.05.2018 / 20:45