[devel] Q: sgid
Vladimir Lettiev
=?iso-8859-1?q?thecrux_=CE=C1_gmail=2Ecom?=
Пн Сен 22 16:32:42 MSD 2008
Добрый день.
Вот такой код:
#include <stdio.h>
#include <stdlib.h>
#include <grp.h>
int main(int argc, char *argv[]) {
gid_t egid;
struct group *group;
egid = getegid ();
group = getgrgid (egid);
fprintf (stderr, "egid: %d, egroup: %s\n", egid, group->gr_name);
}
скомпилировал, поменял группу владельца на root, установил sgid флаг
$ gcc -o program program.c
$ sudo chgrp root program
$ sudo chmod 2755 program
$ ./program
egid:500, egroup:crux
?
Это всё происходит на системе с ALT Sisyphus.
Таже самая программа собранная в ubuntu, как и ожидалось, выдаёт:
egid:0, egroup: root
Почему так?
--
Vladimir Lettiev aka crux <theCrux на gmail.com>
Подробная информация о списке рассылки Devel