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

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

 



On 02 August 2007 17:45, Daniel Brown wrote:

>     Well, you're pleasant today, Mike.

H'mmm. I guess that was a little crabby. Sorry.

All I can say is that it was practically the last thing I did before going home at the end of a particularly frustrating day....

Cheers!

Mike

---------------------------------------------------------------------
Mike Ford,  Electronic Information Services Adviser,
JG125, The Headingley Library,
James Graham Building, Leeds Metropolitan University,
Headingley Campus, LEEDS,  LS6 3QS,  United Kingdom
Email: m.ford@xxxxxxxxxxxxxx
Tel: +44 113 812 4730          Fax:  +44 113 812 3211 


> 
> On 8/2/07, Ford, Mike <M.Ford@xxxxxxxxxxxxxx> wrote:
> > On 02 August 2007 15:58, Daniel Brown wrote:
> > 
> > > On 8/2/07, Ben Ramsey <ramsey@xxxxxxx> wrote:
> > > > I'm trying to set a sticky bit on a directory with chmod(). The
> > > > same octal value works from the command prompt, but it doesn't
> > > > appear to work correctly with the PHP function. Anyone have an
> > > > idea as to why? 
> > 
> > [SNIP]
> > 
> > 
> > >     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.
> > 
> > That's a ridiculous and downright wrong piece of advice.
> It may be correct for doing it directly in the shell, but in
> PHP you need the leading 0 to force the numbers to octal:
> 0755 is exactly the same as 00755 and 000755 (etc.), but
> different from plain 755.
> > 
> > > 
> > >     Right:
> > > chmod 0755 file.php
> > > chmod 1777 file.php
> > > chmod('file.php',0755);
> > > chmod('file.php',1777);
> > 
> > That last statement is the same as:
> > 
> >   chmod('file.php', 03361)
> > 
> > which I don't think will have the desired effect!!
> > 
> > 
> > >     Will almost always work, but isn't entirely correct:
> > 
> > Not even nearly correct:
> > 
> > > chmod 755 file.php
> > > chmod 644 file.php
> > > chmod('file.php',755);
> > 
> > ... same as: chmod('file.php', 01363);
> > 
> > 
> > > chmod('file.php',644);
> > 
> > ... same as: chmod('file.php', 01204);
> > 
> > 
> > >     Will never (or at least, SHOULD never) work:
> > 
> > On the contrary, the PHP versions of these are entirely
> correct -- you *need* the leading zeros to make the numeric
> literals be octal:
> > 
> > > chmod 00755 file.php
> > > chmod 01777 file.php
> > > chmod('file.php',00755);
> > > chmod('file.php',01777);
> > 
> > Cheers!
> > 
> > Mike
> > 
> > 
> ---------------------------------------------------------------------
> > Mike Ford,  Electronic Information Services Adviser,
> > JG125, The Headingley Library,
> > James Graham Building, Leeds Metropolitan University,
> > Headingley Campus, LEEDS,  LS6 3QS,  United Kingdom Email:
> > m.ford@xxxxxxxxxxxxxx Tel: +44 113 812 4730          Fax:  +44 113
> > 812 3211 
> > 
> > 
> > To view the terms under which this email is distributed,
> please go to http://disclaimer.leedsmet.ac.uk/email.htm
> > 
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php


To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm

-- 
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