Permitir perfis de shell configuráveis - AWS Systems Manager

Permitir perfis de shell configuráveis

Por padrão, as sessões nas instâncias do EC2 para Linux começam a usar o shell Bourne (sh). No entanto, talvez prefira usar outro shell como bash. Ao permitir perfis de shell configuráveis, você pode personalizar preferências dentro de sessões como preferências de shell, variáveis de ambiente, diretórios de trabalho e executar vários comandos quando uma sessão é iniciada.

Importante

O Systems Manager não verifica os comandos ou scripts em seu perfil de shell para ver quais alterações eles fariam em uma instância antes de serem executados. Para restringir a capacidade de um usuário modificar comandos ou scripts inseridos em seu perfil de shell, recomendamos o seguinte:

  • Crie um documento personalizado do tipo de sessão para os usuários e funções do AWS Identity and Access Management (IAM). Em seguida, modifique a política do IAM para esses usuários e funções para que a operação da API StartSession só possa usar o documento do tipo Sessão que você criou para eles. Para obter informações, consulte Criar um documento de preferências (linha de comando) do Session Manager e Políticas do usuário final do Quickstart para o Session Manager.

  • Modifique a política do IAM para seus usuários e funções do IAM para negar acesso à operação da API UpdateDocument do recurso de documento do tipo Sessão que você criar. Isso permite que seus usuários e funções usem o documento que você criou para suas preferências de sessão sem permitir que eles modifiquem qualquer uma das configurações.

Para ativar perfis de shell configuráveis
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Session Manager.

  3. Escolha a guia Preferences (Preferências) e, em seguida, escolha Edit (Editar).

  4. Especifique as variáveis de ambiente, preferências de shell ou comandos que você deseja executar quando a sessão for iniciada nos campos dos sistemas operacionais aplicáveis.

  5. Escolha Salvar.

Os comandos a seguir são exemplos que podem ser adicionados ao seu perfil do shell.

Altere para o shell bash e para o diretório /usr nas instâncias do Linux.

exec /bin/bash cd /usr

Emita um carimbo de data/hora e uma mensagem de boas-vindas no início de uma sessão.

Linux & macOS
timestamp=$(date '+%Y-%m-%dT%H:%M:%SZ') user=$(whoami) echo $timestamp && echo "Welcome $user"'!' echo "You have logged in to a production instance. Note that all session activity is being logged."
Windows
$timestamp = (Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ") $splitName = (whoami).Split("\") $user = $splitName[1] Write-Host $timestamp Write-Host "Welcome $user!" Write-Host "You have logged in to a production instance. Note that all session activity is being logged."

Visualizar a atividade dinâmica do sistema no início de uma sessão.

Linux & macOS
top
Windows
while ($true) { Get-Process | Sort-Object -Descending CPU | Select-Object -First 30; ` Start-Sleep -Seconds 2; cls Write-Host "Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName"; Write-Host "------- ------ ----- ----- ----- ------ -- -----------"}