LINUX.ORG.RU

Дать юзеру возможность логиниться, но запретить выполнять какие-либо команды

 , , ,


0

1

Хочу сделать ssh-доступ к удаленной машине за NAT'ом, используя OpenWrt-роутер для переброса порта:

nat_pc# ssh -R 6333:localhost:22 openwrt_addr -N
При этом я не хочу полагаться на то, что на удаленной стороне эта команда будет выполняться с -N (без выполнения команд), и не хочу, чтобы кто-то шарился по моему роутеру. Можно создать непривилегированного пользователя, но как запретить ему выполнять какие-либо команды, чтобы он вообще консоль не мог получить?

★★

Поменять шел для пользователя на /sbin/nologin.

i-rinat ★★★★★
()
Ответ на: комментарий от ii343hbka

nologin

Спасибо, похоже, это именно оно

shatsky ★★
() автор топика

Я делаю так

# vi /etc/ssh/sshd_config

Match User youruser
ForceCommand /home/youruser/.login_script.sh


# vi /home/youruser/.login_script.sh
echo ""
echo " ------------------------------------------------------------------------------ "
echo "|                                                                              |"
echo "|  Hello. You are connected successfully. Please, do not close this terminal   |"
echo "|                                                                              |"
echo " ------------------------------------------------------------------------------ "
exec /bin/sleep 1d




# chmod +x /home/youruser/.login_script.sh

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 3)
Ответ на: комментарий от sdio

Спасибо, возьму на заметку. Я так понимаю, это только для sshd, у меня на роутере drobpear. Сделал симлинк /bin/sshtunnel->/bin/false, указал его в качестве шелла и добавил в список разрешенных шеллов /etc/shells (иначе dropbear отказывает в соединении, разрешать сам /bin/false на всякий случай не стал, чтобы не менять поведение при попытке логина имеющихся изкоробки псевдопользователей).

shatsky ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.