O nome do usuário aparece como “bash-3.0” no shell SSH

2

Estou trabalhando em um servidor Redhat e um dos nomes dos usuários aparece como "bash-3.0" no "SSH Secure Shell Client".

Seu nome está aparecendo correto em /etc/passwd . Como isso pode acontecer?
Como posso consertar isso?

    
por WAEL 11.10.2012 / 08:10

3 respostas

1

O shell padrão do usuário é diferente dos outros? (também em /etc/passwd ) Esta poderia ser a causa potencial.

Você recebe um aviso "bash" ao ativar o bash no seu terminal sem configurar um prompt personalizado. Como está acontecendo apenas com um usuário, eles podem ter um shell de login diferente dos outros ou podem estar iniciando o bash em um script de login ou no terminal.

Se o shell padrão estiver bem (correspondendo a outros usuários), tente determinar se o .bashrc ou .bash_profile é diferente do que está na pasta inicial de outros usuários? (Também pode ser ~/.profile , ~/.zprofile ou ~/.login dependendo do que você usa ...)

    
por 11.10.2012 / 08:17
1

foi resolvido depois de restaurar os arquivos (.bashrc e .bash_profile) de / etc / skel /, parece que eles foram apagados por engano

    
por 11.10.2012 / 09:06
0

O motivo pelo qual você viu a versão bash em vez do nome de usuário depois que os arquivos de perfil foram excluídos foi que o prompt de comando (geralmente contendo o nome de usuário) está definido nesses arquivos. Você veria exatamente o mesmo depois de chamar bash --norc .

Curiosamente, nenhum prompt de comando está configurado em seu / etc / profile, o que é frequentemente o caso em sistemas modernos; normalmente, você tem algo como

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
        . /etc/bash.bashrc
    fi
  else
    if [ "'id -u'" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi
    
por 11.10.2012 / 16:32

Tags