Я пытаюсь использовать конкретный сценарий 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
Кроме того, какой у вас дистрибутив и версия?