Re: how to prevent user to login via ssh or exec commands but allow to start ssh tunel
On 2005.03.09 at 22:06:54 +0400, Vlad Harchev wrote:
> Hi,
>
> В общем задача:
>
> Есть некий ч-к, хочется дать возможность ему пускать тунели ssh на серваке
> (ssh -N -R или ssh -N -L) ,но не давать ему возможность логиниться в
> сервак или
> выполнять на нем команды.
>
Поставь ему shell-ом в /etc/passwd, такую программу, которая
удовлетворяет условиям, требуемым для туннеля, т.е. висит и ждет пока её
не прервут, но не позволяет выполнять команды.
Например /bin/cat подойдет. Хотя посредством /bin/cat человек сможет
кое-какие файлики посмотреть. Лучше скриптик вида
#!/bin/sh
exec cat
который переданные параметры пожрет и cat-у не отдаст.
> Рыл все доки по ssh - попробовал вставить в $HOME/.ssh/rc "exit" (и дать
> этому файлу правильные права как указано в доках) - но от попытки
> залогинииться этим юзером ничего не спасает (и влогах ssh сервера ничего
> нет - никаких жалоб)
>
> Ставить shell field в /etc/passwd в /bin/false будет недостаточно, потому
> что юзер сможет просто явно указать команду которую надо выполнить в комм.
> строке ssh (например тот же /bin/sh).
ssh передаст эту команду на выполнение шеллу. Поэтому посредством
/bin/false хрен чего выполнишь. /bin/false не подходит по другой причине
- он сразу завершается. А туннель требует живой сессии.
Reply to: