[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