Estou tentando usar um script bash específico como shell de usuário. Para que se o usuário fizer login, o script será executado.
Criei o script e coloquei-o no diretório inicial do usuário específico. Modifiquei /etc/passwd
para usar o script como shell para este usuário.
Isso funciona muito bem se eu fizer login localmente. Mas se eu tentar fazer login via 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 ver que o script será executado.
Também tentei alterar a permissão usando chmod 777 custom-shell
, mas também não ajudou.
Você tem alguma ideia de qual é o problema?
Responder1
Adicione o script/programa que você deseja usar para um shell/etc/shells
Responder2
posso ver a linha que você digitou em /etc/passwd, bem como o script e suas permissões? Eu testei 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?