On Wed, Oct 09, 2013 at 05:47:36PM +0200, Bambero wrote:

> Thanks fo the answer.
> 
> But, another example:
> --------------------
> #!/usr/local/bin/php-5.2 -q
> 
> //set group ID to operator
> posix_setgid(5);
> posix_setegid(5);
> 
> //set user ID to nobody
> posix_setuid($_uid);
> 
> echo 'getuid: ' . posix_getuid() . "\n";
> echo 'getgid: ' . posix_getgid() . "\n";
> echo 'getegid: ' . posix_getegid() . "\n";
> 
> echo file_get_contents('/etc/sudoers');
> --------------------
> 
> This script returns contents of /etc/sudoers file.
> But it shouldn't becouse perms of /etc/sudoers permissions are:
> -----
> -r--r-----  1 root  wheel  1354 Aug 17  2011 /etc/sudoers
> ----
> 
> I'm I right ?


No, there are also a group list. See getgroups(2) and setgroups().
getgroups(2) maps to posix_getgroups(). But is seems posix_setgroups() was
forgotten by the php folks.

        -Otto

> 
> Bambero
> 
> 
> On Wed, Oct 9, 2013 at 4:30 PM, Otto Moerbeek <[email protected]> wrote:
> 
> > On Wed, Oct 09, 2013 at 04:26:20PM +0200, Bambero wrote:
> >
> > > Hello
> > >
> > > I have a small php script which creates a file:
> > >
> > > --------------------
> > > #!/usr/local/bin/php-5.2 -q
> > >
> > > //set group ID to operator
> > > posix_setgid(5);
> > > posix_setegid(5);
> > >
> > > //set user ID to nobody
> > > posix_setuid($_uid);
> > >
> > > // create file
> > > touch('/tmp/permtest');
> > >
> > > echo 'getuid: ' . posix_getuid() . "\n";
> > > echo 'getgid: ' . posix_getgid() . "\n";
> > > echo 'getegid: ' . posix_getegid() . "\n";
> > > --------------------
> > >
> > > Script returns (as expected):
> > > ----------
> > > getuid: 2
> > > getgid: 5
> > > getegid: 5
> > > ----------
> > >
> > > But file created with that script has perms:
> > >
> > > -rw-r--r--   1 operator     wheel     0 Oct  9 16:16 permtest
> > >
> > > So it looks like the setgid not works ?
> > >
> > > Can anyone help ?
> > >
> > > Bambero
> >
> > On *BSD systems, the group owner of a file is inherited from the directory.
> >
> >         -Otto

Reply via email to