The OpenNET Project / Index page

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

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

"Как узнать, запущена ли программа с битом SUID?"  +/
Сообщение от xintrea email(ok) on 05-Сен-11, 01:34 
Здравствуйте!


Вопрос очень простой. Есть программа, которая должна уметь работать, будучи запущенной от обычного пользователя, и будучи запущенной с устновленным SUID.

В зависимости от режима запуска нужно немного меняеть поведение программы.

Вопрос: как внутри C/C++ программы узнать, запущена ли она просто от пользователя, или с установленным SUID?

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Как узнать, запущена ли программа с битом SUID?"  +/
Сообщение от guest email(??) on 05-Сен-11, 09:12 
> Вопрос: как внутри C/C++ программы узнать, запущена ли она просто от пользователя,
> или с установленным SUID?

if (getuid() != geteuid())
    /* SUID */


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как узнать, запущена ли программа с битом SUID?"  +/
Сообщение от AHAHAC (ok) on 07-Сен-11, 22:28 
>> Вопрос: как внутри C/C++ программы узнать, запущена ли она просто от пользователя,
>> или с установленным SUID?
> if (getuid() != geteuid())
>     /* SUID */

Теперь рассказывай, как внедрить этот код в бинарник, например в /bin/ping, от простого пользователя?!


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как узнать, запущена ли программа с битом SUID?"  +/
Сообщение от allez (ok) on 08-Сен-11, 03:50 
>>> Вопрос: как внутри C/C++ программы узнать, запущена ли она просто от пользователя,
>>> или с установленным SUID?
>> if (getuid() != geteuid())
>>     /* SUID */
> Теперь рассказывай, как внедрить этот код в бинарник, например в /bin/ping, от
> простого пользователя?!

Гм, командир, а пятки на ночь вам не почесать? :-) Про то, что за помощь воспитанные
люди обычно благодарят, распространяться не буду - бисеромет сломался. :-)

По теме: берем исходник нужной программы, внедряем туда подсказанный код и собираем.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как узнать, запущена ли программа с битом SUID?"  +/
Сообщение от guest email(??) on 08-Сен-11, 09:15 
> Теперь рассказывай, как внедрить этот код в бинарник, например в /bin/ping, от
> простого пользователя?!

А зачем??? ping сбрасывает SUID сразу после открытия сокета.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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