/ etc / profile não é lido no shell do usuário alterado

1

Eu preciso rodar um binário personalizado quando o usuário logar no sistema, então eu mudei o shell do usuário para / bin / binary para / etc / passwd mas eu observei que o arquivo / etc / profile não foi lido quando eu entrei com o shell do usuário alterado

Então / etc / profile será lido apenas se o shell do usuário estiver em / bin / sh em / etc / passwd ??

    
por Rahul Dhobi 31.03.2014 / 08:55

1 resposta

6

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....
    
por 31.03.2014 / 09:19