Запуск процесса от другого пользователя

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 14:25:37

Есть у меня скрипт mytest.php - читает с БД ссылку и запускает wget. Скрипт должен работать от юзера mytets
добавил юзера mytest? далее делаю

Код: Выделить всё

 chown mytest:mytest /usr/local/www/test/cron/mytest.php

далее закидываю на выполнение скрипта в крон новоиспеченного пользователя запись

Код: Выделить всё

crontab -u mytest -e
собствено запись

Код: Выделить всё

*/1     *       *       *       *       /usr/local/www/test/cron/mytest.php
Жду минуту и смотрю top
...
9092 root 1 96 0 5760K 2464K select 0:01 0.00% wget
...
запустился wget от root'а. чего делаю не так?
Помни о смерти, все суета сует....

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение manefesto » 2008-08-26 14:38:46

пробуй

Код: Выделить всё

sudo mytest
crontab -e
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 14:51:23

cсделал
#su mytest
#crontab -e
тоже самое. стартует от рута
Помни о смерти, все суета сует....

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение terminus » 2008-08-26 14:57:36

/usr/local/bin/php случайно не суидный?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 14:59:46

извеняюсь, но что значит "суидный"?
Помни о смерти, все суета сует....

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение manefesto » 2008-08-26 15:00:37

тэкс...очень странно.
По идее не должно такого быть.
Сделай так.
Напиши в начало wget.sh следующие

Код: Выделить всё

echo `whoami` > /tmp/startwget
А потом смотри /tmp/startwget от имени кого запустилось.
Просто получается что cron запускает юзерскую задачу, а вот смена пользователя не происходит.
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение terminus » 2008-08-26 15:05:59

Код: Выделить всё

Проверить:
# ls -laso /usr/local/bin/php
Суидный - тот у которого поставлен бит суидности - выполнение происходит не от лица того кто запускает, а от того кто владелец. Например:

Код: Выделить всё

если выполнить от рута
# chown root:wheel ./srcipt.sh
# chmod 4555 ./script.sh 

а потом от юзера
$ ./script.sh

то скрипт все равно запустится от рута
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 15:40:27

ясно. вот результат выполнения

Код: Выделить всё

]# ls -laso /usr/local/bin/php
12512 -rwxr-xr-x  1 root  wheel  - 6381943 Apr  5 15:40 /usr/local/bin/php

Помни о смерти, все суета сует....

Аватара пользователя
LimpTeaM
сержант
Сообщения: 236
Зарегистрирован: 2007-10-04 16:26:21

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение LimpTeaM » 2008-08-26 15:48:32

прошу прощения за то что влезаю, но есть вопросик :)
разве в кроне нельзя указать пользователя от которого должен запускаться скрипт?

Код: Выделить всё

*/1     *       *       *       *    mytest   /usr/local/www/test/cron/mytest.php
ну это как предположение :)

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 15:58:17

нужно, но только в файле /etc/crontab
Помни о смерти, все суета сует....

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 16:12:13

так кому ставить бит суидности? поставил его скрипту

Код: Выделить всё

#chmod u+s mytest.php
# ls -l
#-rwsrwxrwx  1 mytest  mytest  9546 Aug 26 14:11 mytest.php
в mytest.php есть

Код: Выделить всё

#/usr/local/bin/php
<?php
...
exec(" /usr/local/bin/wget {ну и ссылка на скачку которую беру с MySql}");
...
?>
wget попрежнему стартует с крона от рута...
Помни о смерти, все суета сует....

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение savio » 2008-08-26 16:28:58

нда.... ничего не понимаю...
отключил на время cron.
зашел под юзером(su mytest)
запустил скрипт - wget работает от пользователя mytest
убил процесс. зашел под рутом, запустил суидный mytest.php - wget запустился под рутом
по ходу дела этот суидный бит никакой роли не играет?
Помни о смерти, все суета сует....

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: Запуск процесса от другого пользователя

Непрочитанное сообщение f_andrey » 2008-08-26 21:14:15

savio писал(а):по ходу дела этот суидный бит никакой роли не играет?
Граждане не ленитесь читать документацию и прочие хорошие книжки, суидный бит нужен для запуска программ требуюших административных полномочий НЕ привелигированными пользователями.
Кстати а что вы читали по теме прежде чем задать вопрос?
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308