Re: Setting group sticky bit on directory with chmod()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/2/07, Ben Ramsey <ramsey@xxxxxxx> wrote:
> On 8/2/07 10:57 AM, Daniel Brown wrote:
> > On 8/2/07, Ben Ramsey <ramsey@xxxxxxx> wrote:
> >> PHP (doesn't work):
> >> chmod('/path/to/dir', 02775);
> >>
> >> We've tested the PHP code on files, and it works, but it doesn't work on
> >> directories.
> >
> >     Drop the preceding 0 from the chmod() function parameters.  The
> > four-digit octal value is preferred, and the 0 is the first bit to
> > show that there's no user- or group-specific execution (su-exec'ing,
> > basically) or "stickiness" to the file/directory.  However,
> > three-digit values will work.  In either case, five digits will not
> > work.
> >
> >     Right:
> > chmod 0755 file.php
> > chmod 1777 file.php
> > chmod('file.php',0755);
> > chmod('file.php',1777);
>
> What about on directories? That's our problem.
>
> The following works on files (even though you say it shouldn't). I'll
> clarify: 02775 sets permissions based on how we expect 2775 to work
> using chmod from the command prompt. The problem is that 2775 with PHP's
> chmod() doesn't set the permissions in the same way that it does from
> the command prompt.
>
> This works on files:
> chmod('/path/to/file.php', 02775);
>
> But it doesn't work on directories.
>
> Here's what we're doing:
>
> <?php
> chmod('./test1', 2775);
> ?>
>
> Here's what we get:
> $ ls -l
> d-ws-w-rwt   2 user user      4096 Aug  2 15:33 test1
>
> Here's what we expect:
> $ chmod 2775 test1
> drwxrwsr-x   2 user user      4096 Aug  2 15:34 test1
>
> So, what are we doing wrong with chmod() that is causing us to get the
> wrong results? Keep in mind that we are running the PHP script as the
> same user who owns the directory.
>
> --
> Ben Ramsey
> http://benramsey.com/
>

Who is the owner of the directory containing this test1 directory?
That one should also be the same as PHP script is running on AFAIK.

Tijnema

-- 
Vote for PHP Color Coding in Gmail! -> http://gpcc.tijnema.info

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux