Como criar um usuário que pode efetuar login via SSH, mas não pode usar comandos shell?

3

Como criar um novo usuário que possa efetuar login via SSH, mas não pode usar comandos do shell? Eu tentei definir /bin/false como o shell padrão para o usuário, mas não consigo mais fazer login via SSH.

    
por Victoralm 02.04.2014 / 01:56

1 resposta

3

Você pode criar um novo, pequeno, "shell" (eu usei aspas porque não é um shell real) como segue:

  1. Como root, crie um novo arquivo no diretório /bin , digamos fakesh .

  2. Adicione o seguinte código dentro do arquivo /bin/fakesh :

    #!/bin/bash
    echo -n "$ "
    while read cmd ; do 
        if [ "$cmd" = "exit" ]; then break; fi
        if [ "$cmd" != "" ]; then echo "The only one available command is: exit"; fi
        echo -n "$ "
    done
    
  3. Salve o arquivo e torne-o executável para todos:

    chmod +x /bin/fakesh
    

Depois disso, basta definir /bin/fakesh como o shell padrão do seu usuário. O usuário estará disponível para acessar sua conta via ssh, mas ele não poderá executar nenhum comando, exceto exit .

    
por Radu Rădeanu 02.04.2014 / 12:45