#37946 [NEW]: mkdir recursive creates wrong owner for parent directories
| From: | oscar dot de dot lathouder at gmail dot com | Date: | Wed, 28 Jun 2006 11:32:36 +0000 |
| Subject: | #37946 [NEW]: mkdir recursive creates wrong owner for parent directories | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-98897@lists.php.net to get a copy of this message | ||
From: oscar dot de dot lathouder at gmail dot com
Operating system: Fedora Core 5
PHP version: 5.1.4
PHP Bug Type: Directory function related
Bug description: mkdir recursive creates wrong owner for parent directories
Description:
------------
The recursive option of mkdir() creates wrong owners for created parents.
Reproduce code:
---------------
Executed file:
-rw-rw-rw- 1 thisuser mygoup 5900 Jun 28 09:32 test.php
saveLocation:
/mnt/shared/
ls -al /mnt/shared/
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 .
drwxr-xr-x 5 root root 4096 Jun 23 15:11 ..
(note: server is MS Windows 2000 server, executing server is Fedora Core
5. 'thisuser' has read/write permissions on server as well)
Code:
$saveLocation = /mnt/shared/1/2/3/
if (!file_exists($saveLocation) && !is_dir($saveLocation))
mkdir($saveLocation,0777,true);
Expected result:
----------------
ls -al /mnt/shared/
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 .
drwxr-xr-x 5 root root 4096 Jun 23 15:11 ..
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 1
ls -al /mnt/shared/1/
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 .
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 ..
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 2
ls -al /mnt/shared/1/2/
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 .
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 ..
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 09:21 3
Actual result:
--------------
ls -al /mnt/shared/
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 2006 .
drwxr-xr-x 5 root root 4096 Jun 23 15:11 ..
drwxrwxrwx 1 root root 0 Jun 28 2006 1
ls -al /mnt/shared/1/
drwxrwxrwx 1 root root 0 Jun 28 2006 .
drwxrwxrwx 1 thisuser mygroup 0 Jun 28 2006 ..
Errorlog:
[Wed Jun 28 10:58:43 2006] [error] [client xx.xx.xx.xx] PHP Warning:
mkdir() [<a href='function.mkdir'>function.mkdir</a>]: Permission denied
in /var/www/html/test.php on line 2, referer: http://xx.xx.xx.xx/test.php
When I execute the same script again, it will create another directory
(2), but exits with the same error.
--
Edit bug report at http://bugs.php.net/?id=37946&edit=1
--
Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=37946&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=37946&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=37946&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=37946&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=37946&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=37946&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=37946&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=37946&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=37946&r=support
Expected behavior: http://bugs.php.net/fix.php?id=37946&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=37946&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=37946&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=37946&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37946&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=37946&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=37946&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=37946&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=37946&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=37946&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=37946&r=mysqlcfg