Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2011, 16:43   #1
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию Вызов функции с правами суперюзера

Доброго всем времени суток -)

Коллеги, нужна ваша помощь.
В основной программе вызывается функция (settimeofday()), требующая права суперюзера (под Линуксом).
Натолкните на идею, как это можно реализовать, помимо запуска основной программы с соответствующими правами...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 21.04.2011, 21:15   #2
mikillskegg
Пользователь
 
Регистрация: 02.04.2011
Сообщений: 36
По умолчанию

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

Последний раз редактировалось mikillskegg; 21.04.2011 в 21:17.
mikillskegg вне форума Ответить с цитированием
Старый 21.04.2011, 23:19   #3
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию

Подозреваю, что как в винде почти.
http://ubuntuforums.org/showpost.php...99&postcount=4
Системный вызов скорее всего проканает.
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 22.04.2011, 00:38   #4
mikillskegg
Пользователь
 
Регистрация: 02.04.2011
Сообщений: 36
По умолчанию

Можно попробовать так. Функцию запихнуть в отдельный исполняемый файл, который будет вызываться из основной программы. Сделать его владельцем рута и навесить на него SUID.
mikillskegg вне форума Ответить с цитированием
Старый 22.04.2011, 02:09   #5
rowlin
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 31
По умолчанию

http://www.opennet.ru/man.shtml?topi...ry=2&russian=0
rowlin вне форума Ответить с цитированием
Старый 22.04.2011, 19:04   #6
mikillskegg
Пользователь
 
Регистрация: 02.04.2011
Сообщений: 36
По умолчанию

Цитата:
Сообщение от rowlin Посмотреть сообщение
Не прокатит. setuid() работает только с процессом, имеющим uid суперпользователя. А иначе все было бы слишком просто и безопасность полетела бы не скажу куда.
mikillskegg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции Anubys Помощь студентам 2 06.04.2011 16:40
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Вызов функции new player БД в Delphi 5 07.10.2010 13:01
Вызов функции из dll-ки VVVadim Общие вопросы Delphi 2 28.04.2009 10:37
Вызов функции MarSeON PHP 2 01.08.2008 20:22