Melhor lugar para executar o comando bash após o sudo su / login para todos os usuários?

0

Estou usando o servidor LAMP do turnkeylinux que é baseado no Debian. Quando eu logar, meu shell é basicamente apenas $ e sem cores, sem dirname, apenas muito básico. Eu tenho que usar o comando bash que então inicializa tudo para que eu tenha cores, o vim está correto, o caminho está aparecendo no terminal, etc.

Eu tenho que fazer isso toda vez que eu sudo su em outro usuário. Existe um lugar mestre que eu possa mudar para executar o comando bash sempre que eu fizer login ou usuário su?

Meu login "digitação" é isso.

type myusername
type mypassword
type bash <- so when i exit from su, i know i'm really back. Why can't this auto run?
type sudo su developer
type bash <- again so i know where i am. Auto run this command after the su

É apenas um pequeno aborrecimento que não consigo descobrir.

Obrigado.

    
por CarComp 12.08.2016 / 16:26

1 resposta

1

Seu shell de login provavelmente é /bin/sh , verifique com getent passwd username . (Último campo na linha.) Você pode alterá-lo com chsh , sem argumentos, para que ele pergunte o que você quer, ou com algo como chsh -u user /bin/bash . O mesmo para a outra conta. chsh solicitará sua senha, a menos que você seja root.

sudo su é redundante, uma vez que ambos sudo e su são destinados à elevação de privilégios. Considere apenas sudo -s ou sudo -i (dependendo se você quiser um shell de login ou não, isso afetará quais arquivos de inicialização serão lidos).

Se você deseja executar outra coisa ao iniciar uma sessão, /etc/profile e ~/.bash_profile devem funcionar para os shells de login (ou seja, ao efetuar login com SSH ou com sudo -i ). ( Detalhes sangrentos aqui )

    
por 12.08.2016 / 21:42