summaryrefslogtreecommitdiff
path: root/examples/logon/mklogon/mklogon.pl
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-11-10 14:30:39 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:22 -0500
commite04e7e1ffcf0ad4c8a3837f8553ea83f6b49166d (patch)
tree8d0c2c70c05311cdb74bf6a462716d0ef87cd3d3 /examples/logon/mklogon/mklogon.pl
parentc672a17ff09a7cbe4982c221090ba82377e1a044 (diff)
downloadsamba-e04e7e1ffcf0ad4c8a3837f8553ea83f6b49166d.tar.gz
samba-e04e7e1ffcf0ad4c8a3837f8553ea83f6b49166d.tar.bz2
samba-e04e7e1ffcf0ad4c8a3837f8553ea83f6b49166d.zip
r11645: mklogon updates from Ricky Nance
(This used to be commit 5bfa88225c085238954909fb9aedb34b1b760977)
Diffstat (limited to 'examples/logon/mklogon/mklogon.pl')
-rw-r--r--examples/logon/mklogon/mklogon.pl50
1 files changed, 30 insertions, 20 deletions
diff --git a/examples/logon/mklogon/mklogon.pl b/examples/logon/mklogon/mklogon.pl
index 88ee97c979..8bea7b22d3 100644
--- a/examples/logon/mklogon/mklogon.pl
+++ b/examples/logon/mklogon/mklogon.pl
@@ -22,8 +22,8 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# Version: 1.1 Beta
-# Revised: 06/28/2005
+# Version: 1.0 (Stable)
+# Revised: 07/28/2005
# Comments...
# Working on logging to the system logs, Logs user activity, but not errors yet.
@@ -144,11 +144,11 @@ if ( defined($smbprof) ) {
print "$smbprof \n";
print "$dir2 \n";
if ( !-e $dir2 ) {
- print "Creating " . $user . "'s profile \n";
+ print "Creating " . $user . "'s profile with a uid of $uid\n";
mkdir $smbprof;
mkdir $dir2;
chomp($user);
- chown $uid, $gid, $smbprof;
+# chown $uid, $gid, $smbprof;
chown $uid, $gid, $dir2;
} else {
print $user . "'s profile already exists \n";
@@ -174,6 +174,13 @@ for my $key ( keys %$common ) {
drive_map( @{ $common->{$key} } );
}
+my @perform_common = $cfg->param("performcommands.common");
+if ( defined( $perform_common[0] ) ) {
+ foreach (@perform_common) {
+ print LOGON "$_ \r\n";
+ }
+}
+
# Map shares on a per user basis.
drive_map(@username);
@@ -195,30 +202,33 @@ for my $key ( keys %$compname ) {
if ( ref $test eq 'ARRAY' ) {
foreach (@$test) {
if ( $_ eq $machine ) {
- my $preformit = $cfg->param("preformcommands.$key");
- if ( defined($preformit) ) {
- if ( ref $preformit ) {
- foreach (@$preformit) { print LOGON "$_ \r\n"; }
+ my $performit = $cfg->param("performcommands.$key");
+ if ( defined($performit) ) {
+ if ( ref $performit ) {
+ foreach (@$performit) { print LOGON "$_ \r\n"; }
} else {
- print LOGON "$preformit \r\n";
+ print LOGON "$performit \r\n";
}
}
}
}
}
elsif ( $test eq $machine ) {
- my $preformit = $cfg->param("preformcommands.$key");
- if ( defined($preformit) ) {
- if ( ref $preformit ) {
- foreach (@$preformit) { print LOGON "$_ \r\n"; }
+ my $performit = $cfg->param("performcommands.$key");
+ if ( defined($performit) ) {
+ if ( ref $performit ) {
+ foreach (@$performit) { print LOGON "$_ \r\n"; }
} else {
- print LOGON "$preformit \r\n";
+ print LOGON "$performit \r\n";
}
}
}
}
# Here is where we test the ip address against the client to see if they have "Special Mapping"
+# A huge portion of the ip matching code was made by
+# Carsten Schaub (rcsu in the #samba chan on freenode.net)
+
my $val;
for my $key ( sort keys %$ipname ) {
if ( ref $ipname->{$key} eq 'ARRAY' ) {
@@ -234,12 +244,12 @@ sub getipval {
my ( $range, $rangename ) = @_;
if ( parse( $ip, ipmap($range) ) ) {
if ( $val eq 'true' ) {
- my $preformit = $cfg->param("preformcommands.$rangename");
- if ( defined($preformit) ) {
- if ( ref $preformit ) {
- foreach (@$preformit) { print LOGON "$_ \r\n"; }
+ my $performit = $cfg->param("performcommands.$rangename");
+ if ( defined($performit) ) {
+ if ( ref $performit ) {
+ foreach (@$performit) { print LOGON "$_ \r\n"; }
} else {
- print LOGON "$preformit \r\n";
+ print LOGON "$performit \r\n";
}
}
} elsif ( $val eq 'false' ) {
@@ -307,7 +317,7 @@ sub drive_map {
my $sharename = $data[$i];
$i++;
if ( $sharename eq '/home' ) {
- print LOGON uc("NET USE $driveletter $sharename \/Y \r\n");
+ print LOGON uc("NET USE $driveletter \\\\$server\\$user \/Y \r\n");
} else {
print LOGON
uc("NET USE $driveletter \\\\$server\\$sharename \/Y \r\n");