Adicione o script / programa que você deseja usar para um shell em /etc/shells
Estou tentando usar um script bash específico como um shell de usuário. Então, se o usuário fizer o login, o script será executado.
Eu criei o script e coloquei-o no diretório inicial do usuário específico. Eu modifiquei /etc/passwd
para usar o script como um shell para esse usuário.
Isso funciona muito bem se eu fizer login localmente. Mas se eu tentar fazer o login por SSH, recebo o seguinte erro:
/home/user/custom-shell: No such file or directory
Connection to xyz closed.
O caminho para este script está correto, pois consigo fazer login localmente e posso ver que o script será executado.
Eu também tentei alterar a permissão usando chmod 777 custom-shell
, mas isso também não ajudou.
Você tem uma ideia de qual é o problema?
Adicione o script / programa que você deseja usar para um shell em /etc/shells
Posso ver a linha que você digitou em / etc / passwd, bem como o script e suas permissões? Eu testei isso localmente e funciona bem:
[root@ops-tricks ~]# grep jdoe /etc/passwd
jdoe:x:1010:1010::/home/jdoe:/home/jdoe/custom-shell
[root@ops-tricks ~]# cat /home/jdoe/custom-shell
#!/bin/bash
echo "Custom Shell"
[root@ops-tricks ~]# su - jdoe
Custom Shell
[root@ops-tricks ~]# ssh jdoe@localhost
jdoe@localhost's password:
Last login: Mon Sep 3 23:32:25 2018
Custom Shell
Connection to localhost closed.
[root@ops-tricks ~]# ls -l /home/jdoe/custom-shell
-rwxr-xr-x. 1 root root 33 Sep 3 23:28 /home/jdoe/custom-shell
Além disso, qual distribuição e versão você está executando?