[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: