Como restringir os comandos disponíveis para um usuário SSH específico Print

  • 0

Como restringir os comandos disponíveis para um usuário SSH específico

Olá, viajante da tecnologia! 👋 Seja bem-vindo(a) ao seu guia de segurança no mundo da hospedagem. Hoje vamos aprender algo poderoso e muito útil: como limitar os comandos que um usuário SSH pode executar — como um verdadeiro mestre do controle de acesso.

Imagine que você tem um colaborador, um desenvolvedor ou até um sistema automatizado que precisa de acesso ao seu servidor, mas você não quer que ele execute comandos perigosos como rm -rf / ou sudo — tudo isso pode ser evitado com uma configuração inteligente.

Dica do Sensei: Este guia é para usuários avançados que já têm acesso SSH ao servidor. Se você não sabe o que é SSH, recomendo conversar com seu time de TI ou pedir ajuda ao suporte da GeHost.

Passo a passo: Restringindo comandos com um shell personalizado

O segredo está em usar um shell personalizado que só permite certos comandos. Vamos fazer isso com um arquivo chamado restricted-shell (ou “shell restrito”), que age como um filtro.

  1. Entre no servidor via SSH usando o seu usuário principal (não o que você quer restringir).

    Tela de login do cPanel com campos Usuário e Senha
  2. Crie um script de shell restrito no diretório /home/seu-usuario/bin/ (substitua "seu-usuario" pelo nome real).

    Use o comando:

    mkdir -p /home/seu-usuario/bin

    Depois, crie o arquivo:

    nano /home/seu-usuario/bin/restricted-shell
  3. Insira este conteúdo no arquivo (substitua comando1, comando2 pelos que você quer permitir):

    #!/bin/bash
    case "$1" in
        "comando1"|"comando2"|"comando3")
            exec "$@"
            ;;
        *)
            echo "Acesso negado: apenas comandos permitidos."
            exit 1
            ;;
    esac

    Exemplo real:

    #!/bin/bash
    case "$1" in
        "ls"|"cat"|"grep")
            exec "$@"
            ;;
        *)
            echo "Acesso negado: apenas comandos permitidos."
            exit 1
            ;;
    esac
  4. Salve e feche o arquivo com Ctrl + X, depois S para salvar e Enter para confirmar.

    Garanta que o arquivo é executável:

    chmod +x /home/seu-usuario/bin/restricted-shell
  5. Configure o usuário SSH para usar esse shell restrito.

    Edite o arquivo de usuários do sistema:

    sudo usermod -s /home/seu-usuario/bin/restricted-shell nome-do-usuario-ssh

    Substitua nome-do-usuario-ssh pelo nome do usuário que você quer restringir.

  6. Teste o acesso com o usuário restringido. Ele só poderá executar os comandos listados no script.

    Se tentar usar um comando não permitido, verá a mensagem: Acesso negado: apenas comandos permitidos.

Importante: Cuidado com o acesso root

Nunca permita que um usuário restrito tenha acesso root ou use sudo. Isso anula todo o controle. Se precisar de privilégios, crie um script com permissões específicas e permita apenas ele.

Atenção do Sensei: Essa configuração é feita diretamente no servidor, por meio de SSH. Se você não tem acesso root ou não sabe como fazer, entre em contato com o suporte da GeHost — eles podem te ajudar com segurança.

Quer ir além? Use ferramentas de segurança

Se você quer ainda mais controle, considere usar:

  • Firewall (como UFW) para limitar acesso por IP.
  • Chroot para isolar o usuário em uma pasta virtual (avançado).
  • Permissões de arquivos para garantir que o usuário só veja o que precisa.

Com essas técnicas, você transforma seu servidor em um ambiente seguro, como um templo da tecnologia — onde cada usuário tem seu lugar, e nada é feito sem permissão.

Conclusão

Restringir comandos SSH não é só sobre segurança — é sobre confiança. Você permite o acesso, mas mantém o controle. É como dar uma chave para um amigo, mas só para abrir a porta da cozinha, não o cofre.

Se tiver dúvidas, não hesite em chamar o suporte da GeHost — estamos aqui para ajudar, sempre com um sorriso e um coração de código limpo. 🌟

GeHost — hospedagem com alma, por Raphael Neves Koga (desde 2015)
CNPJ: 46.647.904/0001-04 — G e Soluções e Eventos LTDA


Was this answer helpful?

« Back