The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Запуск bash скрипта от имени пользователя"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Запуск bash скрипта от имени пользователя"  +/
Сообщение от Strik on 22-Мрт-09, 22:01 
Имеется сервер где все процессы apache&php запускаются от nobody.

Я написал php скрипт, который получает параметры и передаёт запрос на bash скрипт.
Bash скрипт выполняет действия на фаерволле, но работать он будет только если пользователю nobody дать права на доступ к фаерволлу, а поскольку на сервере есть и другие пользователи это делать будет небезопасно...

Есть ли какой-то способ заставить работать bash скрипт от имени конкретного пользователя, так чтобы это было безопасно?

Спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от phpcoder email(??) on 22-Мрт-09, 22:03 
sudo


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от Strik on 23-Мрт-09, 02:10 
>sudo

это всё замечательно, но поскольку скрипт выполняется от nobody я не могу дать ему права на операции с фаерволлом. Остаётся только выбор другого пользователя при выполнении bash скрипта, но тут встаёт проблема ввода пароля для sudo -u user, которую у меня пока не получилось решить. Может кто-то напишет пример?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от angra (ok) on 23-Мрт-09, 05:25 
А вы таки почитайте man sudoers, там даже примеры есть.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от phpcoder email(??) on 23-Мрт-09, 09:07 
>>sudo
>
>это всё замечательно, но поскольку скрипт выполняется от nobody я не могу
>дать ему права на операции с фаерволлом. Остаётся только выбор другого
>пользователя при выполнении bash скрипта, но тут встаёт проблема ввода пароля
>для sudo -u user, которую у меня пока не получилось решить.
>Может кто-то напишет пример?

См. man sudoers на предмет NOPASSWD.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от Strik on 23-Мрт-09, 13:58 
>>>sudo
>>
>>это всё замечательно, но поскольку скрипт выполняется от nobody я не могу
>>дать ему права на операции с фаерволлом. Остаётся только выбор другого
>>пользователя при выполнении bash скрипта, но тут встаёт проблема ввода пароля
>>для sudo -u user, которую у меня пока не получилось решить.
>>Может кто-то напишет пример?
>
>См. man sudoers на предмет NOPASSWD.

Да я уже читал. Может я чего-то не понимаю, но если я разрешу выполнение команды без пароля то в дальнейшем любой пользователь на сервере зная только имя пользователя сможет выполнить эту команду. Пароль то не нужен будет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от phpcoder email(??) on 23-Мрт-09, 14:07 
>Да я уже читал. Может я чего-то не понимаю, но если я
>разрешу выполнение команды без пароля то в дальнейшем любой пользователь на
>сервере зная только имя пользователя сможет выполнить эту команду. Пароль то
>не нужен будет.

Не любой пользователь, а только nobody.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от angra (ok) on 23-Мрт-09, 17:04 
Повторяйте за мной:
sudo это НЕ su, надо было читать man
sudo это НЕ su, надо было читать man
sudo это НЕ su, надо было читать man
sudo это НЕ su, надо было читать man
sudo это НЕ su, надо было читать man
sudo это НЕ su, надо было читать man
sudo это НЕ su, надо было читать man
Наступило просветление? Если нет, то продолжайте повторять и ВНИМАТЕЛЬНО читать man.
sudo -u user и su user при внешней схожести довольно сильно отличаются. Если в sudoers прописано что-то вроде:
username ALL = NOPASSWD: somescript
то ТОЛЬКО username может выполнить ТОЛЬКО somescript с рутовыми привилегиями. Если добавить (ALL) перед NOPASSWD, то ТОЛЬКО username сможет выполнить ТОЛЬКО somescript с привилегиями любого пользователя, которого укажет в -u


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от Strik on 23-Мрт-09, 22:07 
Вы меня не поняли. Когда я говорил ВСЕ я подразумевал что php&bash скрипты запускаются от nobody. Любой пользователь на сервере может написать php скрипт, поскольку скрипт выполняется от nobody у него будут права на выполнение команды без пароля.  

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от angra (ok) on 24-Мрт-09, 07:02 
Вы безнадежны
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от phpcoder email(??) on 24-Мрт-09, 09:56 
>Вы меня не поняли. Когда я говорил ВСЕ я подразумевал что php&bash
>скрипты запускаются от nobody. Любой пользователь на сервере может написать php
>скрипт, поскольку скрипт выполняется от nobody у него будут права на
>выполнение команды без пароля.

Да, в вашем случае так и будет. Вы правы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от angra (ok) on 24-Мрт-09, 10:04 
>Да, в вашем случае так и будет. Вы правы.

Полный песец. В sudoers даем разрешение на запуск ОДНОГО скрипта. Ну и что будут делать все остальные пользователи с этим?
Разумеется при этом возникают другие вопросы типа аутентификации в скрипте, разделение области видимости пользователей, прав на сам скрипт и вышестоящие директории. Но все эти вопросы не имеют отношения к sudo.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от scyphius (ok) on 19-Май-09, 14:13 
Здравствуйте. Столкнулся с похожей проблемой.
Нужно автоматизировать запуск системного скрипта из веб-формы, с использованием определенного локального пользователя. Подскажите, пожалуйста, как в команде sudo или su задавать параметром (или еще какмм способом) пароль этого самого пользователя?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от аноним on 19-Май-09, 21:10 
>Здравствуйте. Столкнулся с похожей проблемой.
>Нужно автоматизировать запуск системного скрипта из веб-формы, с использованием определенного локального пользователя.
>Подскажите, пожалуйста, как в команде sudo или su задавать параметром (или
>еще какмм способом) пароль этого самого пользователя?

Никак, если пароль в коммандрой строке или в окружении - это не пароль уже, потому что виден вообще ВСЕМ. Есть опция для чтения пароля с stdin, но пароль придется хранить в скрипте и его опять таки прочитает кто угодно. В общем, подумайте головой, прочитайте sudoers и разрешите только то, что надо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Запуск bash скрипта от имени пользователя"  +/
Сообщение от Andrey Mitrofanov on 20-Май-09, 11:38 
>Подскажите, пожалуйста, как в команде sudo или su задавать параметром (или

Дать в sudoers право пользователю www-data (или подкем там у Вас веб-сервер) право sudo-итить тот скрипт под тем другим пользователем _без_пароля_. Ага-да?...

...и именно этот там наверху--^^^ написано.
---http://google.ru/search?q=sudoers+site%3Aopennet.ru

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру