Não é bem assim. /etc/profile
será lido se o shell do usuário de acordo com o / etc / passwd (ou LDAP, ou outra ferramenta) souber como lê-lo e o fizer.
Se você substituir / bin / sh por um binário que não saiba como ler / etc / profile, então ele não será lido.
Uma maneira de corrigir isso é obviamente corrigir o binário para que ele saiba como lidar com o / etc / profile.
Outra é manter o shell do usuário configurado como /bin/sh
e editar o $HOME/.profile
do usuário para iniciar o binário depois que todo o resto tiver sido configurado.
Uma terceira maneira é fazer com que o usuário efetue login usando uma chave SSH e edite a chave para que ela inicie /bin/binary
e desconsidere quaisquer outros comandos. Você faz isso editando o $HOME/.ssh/authorized_keys
do usuário para ler, por exemplo,
command="/bin/binary" ssh-dss AA.....restofkeyhere....