
Eu sou um usuário root e não quero que os usuários possam executar todos os comandos do Linux, exceto ssh. Eles só precisam usar o comando ssh em seu usuário. Como fazer isso? por favor alguém ajude.
Responder1
Existem algumas abordagens diferentes que você pode adotar para conseguir isso. Aqui estão algumas opções:
Use o modo restrito integrado do shell bash: você pode iniciar o shell de um usuário no modo restrito executando bash -r ou rbash. Isso impedirá que o usuário execute a maioria dos comandos, incluindo alteração de diretórios, configuração de variáveis de ambiente e execução de comandos com /bin/sh. No entanto, o usuário ainda poderá executar comandos integrados ao shell bash, como cd, echo e exit.
Use o comando alias do shell bash: você pode usar o comando alias para definir comandos personalizados que o usuário tem permissão para executar. Por exemplo, você poderia criar um alias para ssh como este:
alias ssh='/usr/bin/ssh'
Isso permitirá que o usuário execute o comando ssh, mas não poderá executar nenhum outro comando.
Use o comando integrado do shell bash: O comando integrado permite que você execute um comando como se estivesse sendo executado a partir da linha de comando, em vez de ser executado como uma função ou integrado. Você pode usar isso para permitir que o usuário execute comandos específicos, ao mesmo tempo que evita que ele execute outros comandos. Por exemplo:
command ssh
Isso permitirá que o usuário execute o comando ssh, mas não poderá executar nenhum outro comando.
Use o enable built-in do shell bash: O enable built-in permite que você habilite ou desabilite comandos ou comandos internos específicos do shell. Você pode usar isso para permitir que o usuário execute comandos específicos, ao mesmo tempo que evita que ele execute outros comandos. Por exemplo:
enable -n ssh
Isso desativará o comando ssh, para que o usuário não consiga executá-lo.
Use o comando export do shell bash: Você pode usar o comando export para definir variáveis de ambiente que o usuário não tem permissão para alterar. Por exemplo:
export PATH=/usr/bin:/usr/sbin
Isso definirá a variável de ambiente PATH do usuário para incluir apenas os diretórios /usr/bin e /usr/sbin, para que eles só possam executar comandos localizados nesses diretórios.
Use um shell personalizado: você pode criar um shell personalizado que permite apenas ao usuário executar comandos específicos. Por exemplo, você pode criar um script de shell chamado ssh-only semelhante a este:
#!/bin/bash
# Check if the first argument is "ssh"
if [ "$1" == "ssh" ]; then
# If it is, run the ssh command
/usr/bin/ssh "$@"
else
# If it's not, print an error message
echo "Command not allowed"
fi
Em seguida, defina o shell do usuário como /path/to/ssh-only usando o comando chsh. Isso permitirá que o usuário execute o comando ssh, mas não poderá executar nenhum outro comando.