URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85859
[ Назад ]

Исходное сообщение
"Выполнение пользователем определенных команд"

Отправлено dxnet , 06-Июл-09 13:18 
Добрый день.
Нужно решить след задачу. Пользователь должен коннектиться по ssh и иметь право гасит и поднимать один сервис. Грубо говоря /etc/init.d/myservice start и stop
Больше ему ничего нельзя выполнять, даже ls!

Содержание

Сообщения в этом обсуждении
"Выполнение пользователем определенных команд"
Отправлено std , 06-Июл-09 14:51 
>Добрый день.
>Нужно решить след задачу. Пользователь должен коннектиться по ssh и иметь право
>гасит и поднимать один сервис. Грубо говоря /etc/init.d/myservice start и stop
>
>Больше ему ничего нельзя выполнять, даже ls!

http://oreilly.com/catalog/sshtdg/chapter/ch08.html
Example 8-1: Menu Script  
+ sudo


"Выполнение пользователем определенных команд"
Отправлено dxnet , 07-Июл-09 11:30 

>
>http://oreilly.com/catalog/sshtdg/chapter/ch08.html
>Example 8-1: Menu Script
>+ sudo

Спасибо за ссылку.....там описан данный механизм работы с передачей ключей.
Тогда, да, все можно реализовать. Но вот остается вход по паролю. И именно с помощью парольного входа нужно организовать, данный механизм.


"Выполнение"
Отправлено Andrey Mitrofanov , 07-Июл-09 13:12 
>механизм работы с передачей ключей.
>именно с помощью парольного входа нужно организовать, данный механизм.

:-O Ну, поищите статью, описывающую то же самое, но без ключей, да?


"Выполнение"
Отправлено dxnet , 07-Июл-09 14:38 
>>механизм работы с передачей ключей.
>>именно с помощью парольного входа нужно организовать, данный механизм.
>
>:-O Ну, поищите статью, описывающую то же самое, но без ключей, да?
>

))
Наверное с поиском у меня плохо, не найти ((


"Выпол не"
Отправлено Andrey Mitrofanov , 07-Июл-09 16:02 
Ирония была тонка и ускользнула? Намекаю(тонко!): в ssh _без_ использования авторизации по ключам используется именно парольная авторизация.

"Выпол не"
Отправлено dxnet , 07-Июл-09 16:59 
>Ирония была тонка и ускользнула? Намекаю(тонко!): в ssh _без_ использования авторизации по
>ключам используется именно парольная авторизация.

Я понимаю что парольная. Но как в парольной авторизации реализовать следующую аналогию?
какие тогда файлы должны быть в /home/user/.ssh/, где это писать
ВЫрезка из статьи....
Suppose you've permitted a friend to access your account by SSH, but now you've decided to disable the access. You can simply remove his key from your authorization file, but here's something fancier. You can define a forced command to print a custom message for your friend, indicating that his access has been disabled. For example:

# SSH1, OpenSSH
command="/bin/echo Sorry, buddy, but you've been terminated!" ...key...



"Выпол не"
Отправлено angra , 07-Июл-09 17:30 
В основном sshd_config. Смотрите секцию Match и опцию ForceCommand

"Выполнение пользователем определенных команд"
Отправлено sadm , 07-Июл-09 13:50 
>Добрый день.
>Нужно решить след задачу. Пользователь должен коннектиться по ssh и иметь право
>гасит и поднимать один сервис. Грубо говоря /etc/init.d/myservice start и stop
>
>Больше ему ничего нельзя выполнять, даже ls!

Написать скрипт, который по нажатию клавиши делает судо старт, стоп сервиса и выход из скрипта. В ~/.bash_profile пользователя прописать

script
exit

Всё.


"Выполнение пользователем определенных команд"
Отправлено dxnet , 07-Июл-09 14:37 

>
>Написать скрипт, который по нажатию клавиши делает судо старт, стоп сервиса и
>выход из скрипта. В ~/.bash_profile пользователя прописать
>
>script
>exit
>
>Всё.

Это было первое что пришло мне на ум, только, если, сделать так, и пользователь на этапе выполнения скрипта нажмет ctrl+c, то он влетает в шелл!


"Выполнение пользователем определенных команд"
Отправлено sadm , 07-Июл-09 14:39 
>[оверквотинг удален]
>>выход из скрипта. В ~/.bash_profile пользователя прописать
>>
>>script
>>exit
>>
>>Всё.
>
>Это было первое что пришло мне на ум, только, если, сделать так,
>и пользователь на этапе выполнения скрипта нажмет ctrl+c, то он влетает
>в шелл!

Нет. Он вылетает из ssh сессии, потому что сразу после скрипта в .bash_profile стоит exit.


"Выполнение пользователем определенных команд"
Отправлено dxnet , 07-Июл-09 16:54 
>[оверквотинг удален]
>>>exit
>>>
>>>Всё.
>>
>>Это было первое что пришло мне на ум, только, если, сделать так,
>>и пользователь на этапе выполнения скрипта нажмет ctrl+c, то он влетает
>>в шелл!
>
>Нет. Он вылетает из ssh сессии, потому что сразу после скрипта в
>.bash_profile стоит exit.

да не доходит до exit когда нажимается ctrl+С,
може script нужно запустить с каким нить параметром, чтобы ctrl+с останавливала выполнение только его?


"Выполнение пользователем определенных команд"
Отправлено gpl77 , 07-Июл-09 20:17 

>да не доходит до exit когда нажимается ctrl+С,
>може script нужно запустить с каким нить параметром, чтобы ctrl+с останавливала выполнение
>только его?

trap
nohup


"Выполнение пользователем определенных команд"
Отправлено dxnet , 08-Июл-09 20:27 
>
>>да не доходит до exit когда нажимается ctrl+С,
>>може script нужно запустить с каким нить параметром, чтобы ctrl+с останавливала выполнение
>>только его?
>
>trap
>nohup

"Выполнение пользователем определенных команд"
Отправлено dxnet , 08-Июл-09 20:27 
>>
>>>да не доходит до exit когда нажимается ctrl+С,
>>>може script нужно запустить с каким нить параметром, чтобы ctrl+с останавливала выполнение
>>>только его?
>>
>>trap
>>nohup

trap, хорошая штука, помогло решить проблему....