#
# 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: $!";
#}
}
- if (!DRY) {
- system("domtool-rmuser $_")
- } else {
- warn qq|system("domtool-rmuser $_")\n|
- }
+ if (!DRY) {
+ system("domtool-rmuser $u")
+ } else {
+ warn qq|system("domtool-rmuser $u")\n|
+ }
push @{ $$store{$u}{modules} }, 'domtool';
}
elsif ($a =~ /^u/i) {
- if (!DRY) {
- system("domtool-adduser $_")
- } else {
- warn qq|system("domtool-adduser $_")\n|
- }
+ if (!DRY) {
+ system("ssh -K deleuze domtool-adduser $u")
+ } else {
+ warn qq|system("ssh -K deleuze domtool-adduser $u")\n|
+ }
for ( @{ $$store{$u}{domains} } ) {
if (!DRY) {