#
# Purpose: freeze user (cancel user services except email), or unfreeze user.
#
-# Usage (RUN AS _ADMIN USER ON DELEUZE WITHOUT SUDO):
+# Usage (RUN AS _ADMIN USER ON FRITZ WITHOUT SUDO ... but it shouldn't matter where you run it):
#
# Display frozen users or details for one user (one user implies -verbose):
# freeze [user], OR
use constant DEBUG => 1;
use constant DRY => 0;
-use constant STORE => "/var/tmp/frozen/cache";
+use constant STORE => "/afs/hcoop.net/common/etc/frozen/cache";
use constant DEFAULT_SHELL => '/bin/bash';
use constant FROZEN_SHELL => '/afs/hcoop.net/common/etc/scripts/frozen_shell';
use constant PUBLIC_ACCESS => (qw/mire/);
-use constant RUN_SERVER => 'deleuze';
+use constant RUN_SERVER => 'fritz';
my $store = {}; # cached info
my $action = 'list'; # list, freeze, unfreeze
}
elsif ($a =~ /^u/i) {
+ if ( -l "$user[5]/.loginshell" or -e "$user[5]/.loginshell" ) {
+ if (!DRY) {
+ system("rm '$user[5]/.loginshell'");
+ } else {
+ warn qq{system("rm '$user[5]/.loginshell'")\n};
+ }
+ }
+
if ( $$store{$u}{shell}) {
- if ( -l "$user[5]/.loginshell" or -e "$user[5]/.loginshell" ) {
- if (!DRY) {
- system("rm '$user[5]/.loginshell'");
- } else {
- warn qq{system("rm '$user[5]/.loginshell'")\n};
- }
- }
if (!DRY) {
symlink($$store{$u}{shell}, "$user[5]/.loginshell")
or warn "symlink: $!";
elsif ($a =~ /^u/i) {
if (!DRY) {
- system("domtool-adduser $u")
+ system("ssh -K deleuze domtool-adduser $u")
} else {
- warn qq|system("domtool-adduser $u")\n|
+ warn qq|system("ssh -K deleuze domtool-adduser $u")\n|
}
for ( @{ $$store{$u}{domains} } ) {