Diretório de login ssh diferente da home do usuário

3

Então, estou trabalhando em um servidor remoto via ssh que faço log in e out de dezenas de vezes por dia, e gostaria de ter o bash cd em um diretório padrão que eu escolhi assim que Eu faço o login, mas na verdade não quero mudar a casa do usuário. Existe alguma maneira simples de fazer isso?

Para ser claro, o que eu quero é ver, digamos, ~/foo/bar/ quando eu fizer login, em vez de ~/ , e tiver a opção de alterar o padrão à vontade sem ter que me preocupar com a perigosa usermod loucura.

Não é importante, mas definitivamente seria conveniente.

    
por Emmett R. 29.01.2015 / 15:53

2 respostas

9

No seu arquivo ~/.bashrc ou ~/.bash_profile , coloque isso no final do arquivo:

cd /path/to/your/destination

Salve o arquivo, efetue logout e faça login novamente, você deve estar em /path/to/your/destination .

Você também pode criar um alias em sua conta local, editar seu local ~/.bashrc e adicionar:

alias fastlogin='ssh servername -t "cd /path/to/your/destination; exec bash --login"'

Apresente seu arquivo para que as alterações entrem em vigor:

source ~/.bashrc 

Agora teste-o digitando fastlogin no seu terminal.

Você precisa de bash no final para que a conexão não termine depois que cd seja executado e --login seja necessário para que ele origine seu ~/.bashrc & ~/.bash_profile arquivos.

    
por 29.01.2015 / 16:11
0

home do usuário é apontado pela variável HOME. Então - se você quiser alterá-lo - você pode alterar a variável HOME em .bashrc, .bash_profile ou algo assim. Olhe:

undefine@uml:~$ echo $HOME
/home/undefine
undefine@uml:~$ export HOME=/tmp
undefine@uml:/home/undefine$ cd ~
undefine@uml:~$ pwd
/tmp
    
por 29.01.2015 / 17:50