source: locker/bin/signup-minimal @ 438

Last change on this file since 438 was 438, checked in by andersk, 15 years ago
The time has come that sshmic fails to work on more machines than it is necessary on. Replace it with an ssh wrapper script that also sets various ssh options.
  • Property svn:executable set to *
File size: 2.6 KB
Line 
1#!/bin/sh
2
3if [ "$initlname" = "" ]; then
4  if [ "$lname" = "" ]; then
5    initlname=0
6  else
7    initlname=1
8  fi
9fi
10
11if [ "$lname" = "" ]; then
12  if [ "$1" = "" ]; then
13    echo
14    echo Would you like to sign up:
15    echo 1. Your personal Athena account
16    echo 2. A locker that you control \(a club, a course, etc\)
17    echo If you do not understand this question, you should answer \'1\'.
18    printf "Please enter either '1' or '2' (without quotes): "
19    read whofor
20    if [ "$whofor" -eq 1 ]; then
21        lname=$USER
22        lroot=$HOME
23    elif [ "$whofor" -eq 2 ]; then
24        echo
25        echo OK.  A locker of your choice that you control will be signed up.
26        echo Please enter the name of the selected locker below.
27        echo "(For the locker /mit/sipb, you would enter sipb)."
28        printf "Locker name: "
29        read lname
30        lroot="/mit/$lname"
31    else
32        echo
33        echo ERROR:
34        echo You must select either '1' or '2'.
35        exit 1
36    fi
37  else
38    lname=$1
39  fi
40fi
41
42attach $lname 2>/dev/null
43
44if [ "$lname" != "$USER" ]; then
45  temp=$lname
46  lname=$USER
47  . /mit/scripts/bin$scriptsdev/signup-minimal
48  lname=$temp
49
50  ans=`athrun scripts scripts-ssh /usr/local/bin/admof "$lname" "$USER@ATHENA.MIT.EDU"` 
51  if [ "$ans" != "yes" ]; then
52    echo
53    echo ERROR:
54    printf "It appears as though you are not an administrator of the locker <$lname>.\n"
55    echo Try running \"fs sa /mit/$lname $USER all\" and starting over.
56    echo Contact scripts@mit.edu if you are unable to solve the problem.
57    exit 0
58  fi
59fi
60
61attach $lname 2>/dev/null
62
63if [ ! -d "/mit/$lname" ]; then
64  echo
65  echo ERROR:
66  printf "Cannot find locker <$lname>."
67  exit 0
68fi
69
70ans=`fs la /mit/$lname | grep "system:a.*user.*l" | wc -l`
71if [ "$ans" -eq 0 ]; then
72  echo
73  echo ERROR:
74  printf "It appears as though the locker <$lname> is not listable by system:anyuser.\n"
75  printf "You might want to run \"fs sa /mit/$lname system:anyuser l\"\n"
76  printf "(that's a lowercase L rather than a one) and then try again.\n"
77  echo Contact scripts@mit.edu if you are unable to solve the problem.
78  exit 0
79fi
80
81mkdir /mit/$lname/.scripts-signup 2>/dev/null
82
83if [ ! -d "/mit/$lname/.scripts-signup" ]; then
84  echo
85  echo ERROR:
86  printf "It appears as though you do not have write access to the locker <$lname>.\n"
87  echo Contact scripts@mit.edu if you are unable to solve the problem.
88  exit 0
89fi
90
91athrun gnu wget -q -O/dev/null http://scripts.mit.edu/~signup/$lname
92rmdir /mit/$lname/.scripts-signup
93
94success() {
95  if [ "$initlname" -eq 0 ]; then
96    echo
97    echo "== SUCCESS =="
98    echo $lname is now signed up for $1.
99    echo $2
100    echo
101  fi
102}
Note: See TracBrowser for help on using the repository browser.