Назад | Перейти на главную страницу

Сценарий bash как оболочка использования не работает с SSH

Я пытаюсь использовать конкретный сценарий bash в качестве пользовательской оболочки. Так что если пользователь войдет в систему, скрипт будет выполнен.

Я создал сценарий и поместил его в домашний каталог конкретного пользователя. Я модифицировал /etc/passwd чтобы использовать сценарий в качестве оболочки для этого пользователя.

Это отлично работает, если я вхожу в систему локально. Но если я попытаюсь войти через SSH, я получаю следующую ошибку:

/home/user/custom-shell: No such file or directory
Connection to xyz closed.

Путь к этому сценарию правильный, так как я могу войти в систему локально и вижу, что сценарий будет выполнен.

Я также пытался изменить разрешение, используя chmod 777 custom-shell, но это тоже не помогло.

Ты хоть представляешь, в чем проблема?

Добавьте сценарий / программу, которую вы хотите использовать для оболочки, в /etc/shells

Могу я увидеть строку, которую вы ввели в / etc / passwd, а также сценарий и его разрешения? Я тестировал его локально, и он хорошо работает:

[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

Кроме того, какой у вас дистрибутив и версия?