9.5. Comandos Remotos
Junto ao suporte ao UNIX, o RHN oferece a flexibilidade de invocar comandos remotos em sistemas cliente através do site do RHN do Satellite. Esta funcionalidade permite a você rodar praticamente qualquer aplicação ou script (compatível) em qualquer sistema de seu domínio sem nunca precisar abrir um terminal.
9.5.1. Habilitando Comandos Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
A flexibilidade desta ferramenta traz um grande risco e a responsabilidade de reduzir tal risco. Para todos os propósitos práticos, esta funcionalidade concede um prompt BASH root para qualquer um com acesso administrativo ao sistema no website.
No entanto, isto pode ser controlado através do mesmo mecanismo config-enable usado para determinar quais sistemas podem ter seus arquivos de configuração administrados pelo Red Hat Network. Consulte a Seção 4.4.2.10.3, “Detalhes de Sistema ⇒ Configuração ⇒ Sandbox” para mais detalhes.
Em suma, você deve criar um diretório e um arquivo no sistema UNIX que informem ao RHN que é aceitável rodar comandos remotos na máquina. O diretório dever ser nomeado como
script
; o arquivo dever ser nomeado como run
e ambos devem estar alocados no diretório /etc/sysconfig/rhn/allowed-actions/
específico de sua variante do UNIX.
Por exemplo: no Solaris, invoque este comando para criar o diretório:
mkdir -p /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script
mkdir -p /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script
Para criar o arquivo requisitado no Solaris, invoque este comando:
touch /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script/run
touch /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script/run
9.5.2. Invocando Comandos Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
Você pode agendar um comando remoto de diversas maneiras: num sistema separado, em sistemas múltiplos de uma só vez e acompanhando uma ação de pacotes.
Para rodar um comando remoto num sistema separado, abra a página System Details (Detalhes do Sistema) e clique na sub-aba Remote Command (Comando Remoto). Note que esta sub-aba apenas aparece se o sistema tiver direito à Provisionamento (Provisioning). Nesta página, estabeleça a configuração para o comando. Você pode identificar um usuário, um grupo e um período limite específicos, assim como o próprio script. Selecione uma data e uma hora para iniciar a tentativa do comando e então clique no link (Agendar Comando Remoto).
Da mesma forma, você pode invocar um comando remoto em sistemas múltiplos de uma vez através do System Set Manager (Gerenciador de Conjunto de Sistemas). Selecione os sistemas, navegue para o System Set Manager (Gerenciador de Conjunto de Sistemas), clique na aba Misc (Diversos) e role a página até a seção Remote Command (Comando Remoto). Aqui você pode rodar um comando remoto nos sistemas selecionados de uma só vez.
Para rodar um comando remoto junto a uma ação de pacotes, agende a ação através da aba Packages (Pacotes) da página System Details (Detalhes do Sistema) e clique em (Rodar Comando Remoto) enquanto confirma a ação. Use os botões no topo da página para determinar se o comando deve rodar antes ou depois da ação de pacotes, estabeleça a configuração do comando e clique em (Agendar Instalação/Atualização de Pacotes).
Note que instalar pacotes múltiplos que possuem comandos remotos diferentes requer o agendamento das instalações separadamente ou a combinação dos comandos num único script.