quero restringir todos os comandos do usuário, exceto o comando ssh

quero restringir todos os comandos do usuário, exceto o comando ssh

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.

informação relacionada