> For the complete documentation index, see [llms.txt](https://docs.linuxcontrolcenter.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.linuxcontrolcenter.com.br/custom-scripts/script_linux.md).

# Scripts Linux

## Requisitos

Linux Control Center = 2.10.X ou superior

## Objetivo

Este manual tem como objetivo apresentar todos os recursos que o módulo Scripts do LCC oferece.

## Overview

No Linux Control Center (LCC), o módulo Scripts desempenha um papel importante na administração, oferecendo aos usuários a capacidade de executar Scripts personalizados em hosts gerenciados pelo LCC. O uso do módulo Scripts é semelhante ao módulo Playbooks.

A execução de um Script pelo LCC oferece uma visão completa do processo, permitindo monitorar o andamento em tempo real e gerar relatórios detalhados. Além disso, a execução pode ser realizado pelo Workflow, que permite tomar decisões dinâmicas com base nos resultados de cada etapa.

## Upload e Configuração de Scripts

1. Para iniciar, acesse o LCC e clique em **Scripts** no menu lateral esquerdo.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-84bd9077fffa7cc2bb5044eb737a1563d36664ad%2Fbotao_scripts.png?alt=media)
2. Clique em **Create**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-e040099faad335804361a64a0acd497605e6fa52%2Fbotao_create.png?alt=media)
3. Insira um nome para identificar o Script no campo **Name**.
4. Clique em **Host Type** e escolha o tipo de Script **Windows ou Linux**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-1c70fa73c02945be4968f3f9630e60892c9a7507%2Fbotao_host_type.png?alt=media)
5. Preencha o campo **Remote Path** com **/** no final. Este será o diretório em que o Script será salvo e executado.
6. Clique em **User for Execution** cujo recomendamos que seja o usuário **lcc.local**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-6677f6f7b2810d58a26c202770eb97dd38d4bdf8%2Fuser_for_execution.png?alt=media)
7. Clique em **Upload File** e escolha o Script desejado em seu computador.
8. Veja que o nome do Script será exibido no campo **Current File**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-db31c9162a0ba787a7257ef1d2bbf3b519f1a061%2Fcurrent_script.png?alt=media)
9. Clique em **Save** e logo em seguida o Script estará salvo no banco de dados do LCC.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-f721fa9fcd2be1c2a8ca94014a72adb9a30b3955%2Fbotao_save.png?alt=media)
10. Clique no Script que foi criado e sera possível ver as seguintes telas:

### Informações Gerais

1. Tela que exibe a data e hora em que o Script foi criado, data e hora da ultima alteração e também é possível alterar as informações do campo **Name** e **Descrição**. Também é possível baixar o arquivo ao clicar em **Download**, deletar ao clicar em **Delete** e realizar o upload de um novo arquivo ao clicar em **Change File**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-f1fae8fc3510ad6e5c456f0ed550565552d52c83%2Ftela_general.png?alt=media)

### Variáveis Dinâmicas no Script

Semelhante aos *Playbooks Customizáveis* os Scripts também possuem a capacidade de inserir variáveis. Isso permite a execução do mesmo Script em momentos diferentes com valores distintos, oferecendo adaptabilidade conforme necessário. O formato da variável é **${:::Nome da variável:::}**, sendo o *Nome da variável* o identificador daquela variável.

Após criar o Script com a variável nesse formato e realizar o upload do arquivo para a console, será possível alterar seu valor diretamente pela interface web do LCC sempre que necessário. O valor atualizado será salvo automaticamente no arquivo do Script salvo no banco de dados.

1. Veja um exemplo de implementação deste formato de variável

   *var\_name: **${:::var\_name:::}***

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-f99f9cfc893596b75f8ce0136bfbddaca895113e%2Ftela_variables.png?alt=media)

{% hint style="warning" %}
É importante notar que caso sejam escritas variáveis com o mesmo *identificador*/*nome* o LCC irá substituir o valor da ultima variável inserida pelo usuário em todas as outras. Logo é recomendado utilizar nomes diferentes caso os valores desejados de execução sejam distintos.
{% endhint %}

### Conteúdo do Script

1. A tela Content exibe todo o conteúdo do Script. Na imagem abaixo está a variável citada no tópico anterior.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-3ed55dd790c05c95bdb3336b31fe24652a35d23b%2Ftela_content.png?alt=media)

### Credenciais de execução

1. Na tela **Credentials** O LCC permite que o Script seja executado com uma credencial diferente da padrão *lcc.local*. É possível utilizar Credenciais Linux que estão cadastradas na console do LCC, Credenciais do cofre de senha Password Safe da BeyondTrust por meio de integração e por meio da funcionalidade Hook Bridge Params do LCC.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-3ac6cb9e2b828ba86b3e7e1f49ccc6a6bcc872ab%2Ftela_credential1.png?alt=media)

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-4d2cf9e07b367199a2c42efa423d9d9fe2288e58%2Ftela_credential2.png?alt=media)

### Tenable Plugins

1. Esta tela facilita a correção de vulnerabilidades identificadas como Tenable Plugins por meio da integração com o Tenable Vulnerability Manager e/ou Tenable Security Center. A correção é realizada executando scripts do repositório **7 Library** do Linux Control Center, desenvolvidos para corrigir **Tenable Plugins** específicos.

* Este exemplo mostra o Script *Configure SSH Ciphers and Algorithms* que corrige o Tenable Plugin 153588.

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-cfb25a967f7c42bafd4bf346ee69ae8028a61828%2Ftela_tenable_plugins.png?alt=media)

## Execução de Scripts

1. Acesse a tela **Hosts**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-9c491171845e4402af4a9a00d4573628cae81ae9%2Fhosts_file_download.png?alt=media)
2. Clique clique em **Actions** da linha e um Host desejado e clique em **Execute Custom Script**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-c16d7755b56078efd8c3b7af6a592ff553e0e806%2Flinha_host.png?alt=media)
3. Para executar em vários Hosts simulteaneamente, selecione os Hosts desejados e clique em **Actions** do topo da página e clique em **Execute Custom Script**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-67067cc57f1e7a508c17e6c4f5d57f4d6817fe7d%2Factions_topo.png?alt=media)
4. Escolha o Script que deseja executar no campo **Scripts**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-06991889c746098c9218037d320c09e788d62a71%2Fcampo_scripts.png?alt=media)
5. Clique em **Yes** para executar o Script.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-120bcfbfdcd5708c54547960cfc11bf5ea1cfe73%2Fbotao_yes.png?alt=media)
6. Clique no botão **Queue Working** no topo da página para acompanhar a execução da ação.

   **Observação:** Será criada uma Action **Execute Custom Script** independente para cada Host caso a ação seja executada em mais de um Host simultaneamente, com logs separados para cada execução.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-5d3b4da633a03137c80d31fdc06fa0faa9ec4937%2Factions_working.png?alt=media)
