LINUX.ORG.RU
ФорумAdmin

Помогите разобраться с SUID


0

0

Привет участники!
Помогите разобраться с SUID в никсоидах.

Написал программку на Цэ:

///////////////////
#include <stdio.h>
#include <stdlib.h>

main()
{
system("id");
system("cat /etc/shadow");
return 0;
}
///////////////////
Владелец - root, perm=4755
OS=RH9

Она, по идее, должна от имени rootа запускаться, если ее левый пользователь запустил. Но этого не происходит...

Поясните в чем я не прав.
Спасибо.

Из man system.

       Do not use system() from a program with suid or sgid priv&#173;
       ileges, because strange values for some environment  vari&#173;
       ables  might be used to subvert system integrity.  Use the
       exec(3) family of functions instead, but not execlp(3)  or
       execvp(3).  system() will not, in fact, work properly from
       programs with suid or sgid privileges on systems on  which
       /bin/sh  is  bash version 2, since bash 2 drops privileges
       on startup.  (Debian uses a modified bash which  does  not
       do this when invoked as sh.)

Ближе к концу написано, в чём причина.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Да, похоже понятно. У меня с шелл-скриптами по той же причине проблемы были.

Написал программку, которая с шеллом не взаимодействует - вроде работает.

triclosan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.