Como carregar partes do alias do bash somente ao efetuar login via ssh [duplicate]

5

Como o título indica, é possível ter um alias somente carregado quando eu acesso a máquina através de ssh , ou melhor ainda, somente de um computador específico através de ssh ?

    
por jrmo14 13.07.2017 / 11:12

2 respostas

7

Em .bashrc (ou onde você define os aliases), você pode torná-lo condicional com base na variável SSH_CONNECTION , que é configurada apenas para conexões ssh. Por exemplo:

if [[ $SSH_CONNECTION == *"your-IP"* ]]; then
  alias ll="ls -l"
  # your other aliases
fi
    
por 13.07.2017 / 11:23
0

Como eu interpreto sua pergunta, quando você faz um ssh em uma caixa linux com um usuário diferente de root, o usuário logado deve ter acesso limitado aos comandos e você também quer apelidos para esses comandos. A solução possível é

  1. Crie um shell restrito copiando o arquivo bash no diretório / bin cp / bin / bash / bin / rbash
  2. Modificar o bash do usuário para o bash restrito useradd -s / bin / rbash, no caso do usuário existente usermod -s / bin / rbash. Depois disso, o usuário poderá acessar apenas seu diretório pessoal.
  3. Crie um diretório em / home // comandos
  4. Agora, para restringir o acesso dos comandos, inclua as seguintes linhas no arquivo /home//.bash_profile       PATH = $ HOME / comandos       PATH de exportação
  5. Crie softlinks para os comandos na pasta de comandos / home // que você deseja conceder permissão ao usuário       por exemplo: ln -s / bin / date / home // comandos /
  6. Como o usuário logado pode modificar o /home//.bash_profile, você deve torná-lo imutável para que o usuário não possa acessá-lo.      chattr + i / home //. bash_profile
por 13.07.2017 / 19:34