Alterações no prompt do Bash para diferentes usuários

0

Com nossa atualização mais recente de hardware / SO, implementamos o FQDN em todo o nosso domínio. Agora estamos tendo um problema ao obter o prompt correto em nossas sessões de terminal quando o enviamos para um site remoto. Isso não seria um problema, exceto que muitas vezes somos ssh'd em vários sites e todos os prompts são idênticos, independentemente do site ao qual estamos conectados. Antes de implementar o FQDN, definimos anteriormente o nome do host de cada servidor de gateway de sites como sitename (site1, site2, etc ...) e, assim, o prompt de login nos permitiu reconhecer em qual site estávamos conectados em cada sessão de terminal remoto. p>

Agora, com o RHEL 7 utilizando o FQDN, este é o nosso nome de host:

user1@site1:/home/user1
# hostnamectl status
   Static hostname: gwsrv.site1.system.division.company.com
   Pretty hostname: site1
         Icon name: computer-server
           Chassis: server
        Machine ID: 988c77c116d744fb8b26629aab7beace
           Boot ID: b56bd8e144924560a9051dafbd2ac867
  Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.3:GA:server
            Kernel: Linux 3.10.0-514.el7.x86_64
      Architecture: x86-64

Modificamos o prompt usando /etc/profile.d/profile.sh e formata o prompt como esperado:

PS1='/usr/bin/whoami'@'/usr/bin/hostnamectl --pretty':'$PWD
# '

Que retorna o prompt:

user1@site1:/home/user1
# 

E se eu me elevar para o root, recebo o mesmo aviso:

user1@site1:/home/user1
# su
Password:
root@site1:/home/user1
#

Mas, se eu mudar para outros usuários, recebo um aviso diferente:

user1@site1:/home/user1
# su user2
Password:
[user2@gwsrv user1]$

Não importa se eu ssh em como qualquer outro usuário, meu prompt para todos os usuários, exceto user1 e root, me forneça o mesmo prompt:

[user#@gwsrv ~]$

Qual arquivo e qual linha eu preciso modificar para alterar este outro prompt para lembrar o prompt de user1 e root:

[user#@site1 ~]$

Especificamente, precisamos mostrar que eles estão conectados ao site e não ao gwsrv.

Obrigado pela sua ajuda.

    
por PCnetMD 17.05.2018 / 18:58

1 resposta

2

As configurações em /etc/profile podem (e geralmente serão) substituídas pelas próprias configurações de um usuário em seus diretórios iniciais (por exemplo, ~/.bash_profile ). Além de implementar um regime que impede que um usuário defina PS1 em seu próprio ambiente, não há realmente uma maneira de determinar se um usuário possui um prompt específico.

Você poderia fazer algo como grep 'PS1=' /home/*/.* para encontrar os possíveis candidatos que mudam as coisas, mas isso não será necessariamente exaustivo.

    
por 17.05.2018 / 19:59