aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCassio de Campos <cassiopc@gmail.com>2017-10-24 14:30:21 +0000
committerCassio de Campos <cassiopc@gmail.com>2017-10-24 14:30:21 +0000
commit227fd174b2b9f85f665c226b7e436c0a30c60c31 (patch)
treeab46aa4e96a0a551af424ee66e4112fc41e5650d
parent21a525f1261bff14f65305c1b5e595a707d9f8c1 (diff)
downloadboca-227fd174b2b9f85f665c226b7e436c0a30c60c31.tar.gz
boca-227fd174b2b9f85f665c226b7e436c0a30c60c31.zip
chown issues
-rwxr-xr-xsrc/globals.php17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/globals.php b/src/globals.php
index e23e5ab..b958328 100755
--- a/src/globals.php
+++ b/src/globals.php
@@ -44,8 +44,11 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a
$ds = DIRECTORY_SEPARATOR;
if($ds=="") $ds = "/";
if(is_dir($dir)) {
- if(chown($dir, $user) === false) echo "cannot chown $dir\n";
- if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n";
+ $u = posix_getpwuid(fileowner($dir));
+ $un = $u['name'];
+ $ug = $u['gid'];
+ if($un != $user) echo "user of $dir must be fixed!!\n";
+ if($ug != $group) echo "group of $dir must be fixed!!\n";
if(chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n";
if(($dp = opendir($dir)) === false) return;
while($file = readdir($dp)) {
@@ -63,10 +66,12 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a
}
closedir($dp);
} else {
- $t = myunique();
- copy($dir, $dir . '.tmp' . $t);
- rename($dir . '.tmp' . $t, $dir);
- if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n";
+ if(!is_link($dir)) {
+ $t = myunique();
+ copy($dir, $dir . '.tmp' . $t);
+ rename($dir . '.tmp' . $t, $dir);
+ if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n";
+ }
}
}