Estoy intentando utilizar un script bash específico como shell de usuario. De modo que si el usuario inicia sesión, se ejecutará el script.
Creé el script y lo coloqué en el directorio de inicio del usuario específico. Modifiqué /etc/passwd
para usar el script como shell para este usuario.
Esto funciona muy bien si inicio sesión localmente. Pero si intento iniciar sesión a través de SSH, aparece el siguiente error:
/home/user/custom-shell: No such file or directory
Connection to xyz closed.
La ruta a este script es correcta ya que puedo iniciar sesión localmente y puedo ver que el script se ejecutará.
También intenté cambiar el permiso usando chmod 777 custom-shell
, pero eso tampoco ayudó.
¿Tienes una idea de cuál es el problema?
Respuesta1
Agregue el script/programa que desea usar para un shell a/etc/shells
Respuesta2
¿Puedo ver la línea que ingresó en /etc/passwd así como el script y sus permisos? Lo probé localmente y funciona bien:
[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
Además, ¿qué distribución y versión estás ejecutando?