summaryrefslogtreecommitdiff
path: root/fml/lib/FML/ML
diff options
context:
space:
mode:
authorfukachan <fukachan>2004-10-03 12:07:52 +0000
committerfukachan <fukachan>2004-10-03 12:07:52 +0000
commit3a3a3a25ecc028eb666b7c71852d2d683f3cff18 (patch)
treedcced688504fc9512ddd9e999862b1194eb4348a /fml/lib/FML/ML
parent3db78781e022c938d22528105c6d657ac3f2d7af (diff)
downloadfml8-3a3a3a25ecc028eb666b7c71852d2d683f3cff18.tar.gz
fml8-3a3a3a25ecc028eb666b7c71852d2d683f3cff18.tar.bz2
fml8-3a3a3a25ecc028eb666b7c71852d2d683f3cff18.zip
fix owner and group of created file/dir
Diffstat (limited to 'fml/lib/FML/ML')
-rw-r--r--fml/lib/FML/ML/HomePrefix.pm26
1 files changed, 24 insertions, 2 deletions
diff --git a/fml/lib/FML/ML/HomePrefix.pm b/fml/lib/FML/ML/HomePrefix.pm
index 478c9913..1f603e6a 100644
--- a/fml/lib/FML/ML/HomePrefix.pm
+++ b/fml/lib/FML/ML/HomePrefix.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: HomePrefix.pm,v 1.5 2004/04/27 13:23:25 fukachan Exp $
+# $FML: HomePrefix.pm,v 1.6 2004/07/23 13:16:39 fukachan Exp $
#
package FML::ML::HomePrefix;
@@ -133,15 +133,30 @@ sub add
$obj->add($domain, [ $dir ]);
}
+ $obj->close();
+
+ # change onwer and group of the created directory.
+ if ($< == 0) { # running as user "root".
+ my $owner = $curproc->fml_owner();
+ my $group = $curproc->fml_group();
+ $curproc->chown($owner, $group, $pri_map);
+ }
+
# check the directory.
if (-d $dir) {
$curproc->logwarn("$dir already exist. reuse it.");
}
else {
$curproc->mkdir($dir);
-
if (-d $dir) {
$curproc->log("$dir created");
+
+ # change onwer and group of the created directory.
+ if ($< == 0) { # running as user "root".
+ my $owner = $curproc->fml_owner();
+ my $group = $curproc->fml_group();
+ $curproc->chown($owner, $group, $dir);
+ }
}
else {
$curproc->logerror("fail to mkdir $dir");
@@ -184,6 +199,13 @@ sub delete
$obj->open();
$obj->delete($domain);
$obj->close();
+
+ # change onwer and group of the created directory.
+ if ($< == 0) { # running as user "root".
+ my $owner = $curproc->fml_owner();
+ my $group = $curproc->fml_group();
+ $curproc->chown($owner, $group, $pri_map);
+ }
}