use IO::Socket::INET;
use Digest::MD5 'md5_hex';
+our (@local_rdomains,@local_rhosts);
+
$ENV{PATH} .= ':/sbin:/usr/sbin';
$usage = "usage: $0 [-p port] [IP-address]\n";
die "host $fex is not resolvable - check /etc/resolv.conf\n";
}
+# $fexupdate = '/root/bin/fexupdate';
+# die "found $fexupdate\n" if -x $fexupdate;
+
$opt_p = 80;
if (open $xinetd,$xinetd) {
unless (getpwnam('fex')) {
print "creating user fex\n";
- system 'useradd -s /bin/bash -c "File EXchange" -m fex';
+ system 'groupadd --system fex 2>/dev/null || groupadd fex';
+ my @g = getgrnam('fex') or die "$0: cannot groupadd fex\n";
+ my $gid = $g[2];
+ if (getpwuid($gid)) {
+ system "useradd -s /bin/bash -c 'File EXchange' -g $gid -m fex"
+ } else {
+ system "useradd -s /bin/bash -c 'File EXchange' -u $gid -g $gid -m fex"
+ }
exit $? if $?;
}
mkdir "$FEXHOME/spool",0700 or die "cannot mkdir $FEXHOME/spool - $!\n";
mkdir "$FEXHOME/spool/.error",0700;
}
+foreach my $dir (qw'.dkeys .ukeys .akeys .skeys .gkeys .xkeys .locks') {
+ mkdir "$FEXHOME/spool/$dir",0700;
+}
+
chownr('fex',"$FEXHOME/spool/.");
# fex-VM?
chownr('fex',"$FEXHOME/locale/$locale");
$hl = "$FEXHOME/htdocs/locale/$locale";
symlink "$FEXHOME/locale/$locale/htdocs",$hl unless -l $hl;
+ chownr('fex',"$FEXHOME/htdocs/locale/$locale");
} else {
push @nlocales,"./install $1\n";
}
system qw'crontab -u fex fex.cron';
}
- chownr('fex:root',$FEXHOME,"$FEXHOME/spool/.");
+ chownr('fex:root',$FEXHOME,"$FEXHOME/spool/.","$FEXHOME/htdocs/.");
chmodr('go-r',"$FEXHOME/lib","$FEXHOME/cgi-bin","$FEXHOME/spool/.");
print "\n";
"< $FEXHOME/doc/newfeatures\n";
}
+chmod 0755,"$FEXHOME/htdocs/locale";
+chmod 0755,glob("$FEXHOME/locale/*/htdocs");
+
if (@local_rdomains and not @local_rhosts) {
print "\nWARNING:\n";
- print "In $fph you have @local_rdomains but not @local_rhosts!\n";
+ print "In $fph you have \@local_rdomains but not \@local_rhosts!\n";
print "Selfregistrating of external users will not work!\n";
print "See ${fph}_new/\n";
}
-if (`$sendmail -h 2>&1` =~ /exim/ and
+if (`$sendmail -h 2>&1 </dev/null` =~ /exim/ and
`grep trusted_users /etc/exim4/exim4.conf 2>/dev/null` !~ /\bfex\b/) {
print "\nWARNING:\n";
print "$sendmail is exim\n";