}

The perms command controls authorization: which commanders can send commands to a set of controlled actors. It is intended to be wrapped by a GUI.

The basic scheme is to control access from programs to actors, and to have few actors be controlled -- roughly speaking the instruments and the telescope. When a new user connection (from a TUI, say) is established, it assumes the permissions which already exist for its program; if that program has not yet been registered with perms, the user will not be able to send commands to any actor controlled by perms. The perms command itself can by default only be commanded by APO users.

In simpler terms, a user can command an actor if at least one of the following is true:

  • The actor is not controlled by perms (e.g. msg)
  • The user's program is registered with perms and has been granted explicit permission to command the actor with one of the set or add commands.

Contents:

Last edited 2003-12-16

perms COMMAND [ARGS]

COMMAND is one of:
add program=PROGRAM ACTORS
Add ACTORS to the list of actors that PROGRAM can send commands to. PROGRAM is a single program name (i.e. UW04), and ACTORS is a space-delimited list of actor names. The PROGRAM must already have been registered.
Examples:
add program=UW04 tcc dis tlamps
Returns:
authList for PROGRAM.
drop program=PROGRAM ACTORS
Remove ACTORS from the list of actors that PROGRAM can send commands to. ACTORS is a space-delimited list of actor names. The PROGRAM must already have been registered
Examples:
drop program=UW04 tcc
Returns:
authList for PROGRAM.
lock ACTORS
Block all non-APO access to ACTORS. The intent of locking is to allow the obs-specs to quickly grab access to something without having to re-configure the permissions tables. ACTORS is a space-delimited list of actor names.
Returns:
lockedActors.
register PROGRAMS
Add PROGRAMS to the list of programs to control access from. They are all set up as unable to command any of the controlled actors. PROGRAMS is a space-delimited list of program names, or “*”, which registers all connected programs. It makes no sense to register APO
Examples:
register UW02 PU01
register *
Returns:
authList for all PROGRAMS.
programs.
set program=PROGRAM [ACTORS]
Set the list of actors that PROGRAM can send commands to. ACTORS is a space-delimited list of actor names. If ACTORS is empty, PROGRAM will be unable to command any controlled actor. The PROGRAM must already have been registered
Examples:
set program=UW04 dis tlamps
set program=UW04 (removes all permissions)
Returns:
authList for PROGRAM.
setLocked ACTORS
Block all non-APO access to ACTORS, ignoring any previously locked actors. The intent of locking is to allow the obs-specs to quickly grab access to something without having to re-configure the permissions tables. ACTORS is a space-delimited list of actor names, or '*' to lock all the actors which are subject to access control.
Returns:
lockedActors.
status
Return all perms keywords.
Returns:
authList for all registered PROGRAMs.
actors
lockedActors
programs.
unlock ACTORS
Unblock non-APO access to ACTORS. ACTORS is a space-delimited list of actor names, or “*”, which causes all locked actors to be unlocked.
Examples:
unlock tcc dis tlamps
unlock *
Returns:
lockedActors.
unregister PROGRAMS
Remove PROGRAMS from the list of programs to control access from. Any further commands send from such a program to a controlled actor will be blocked. PROGRAMS is a space-delimited list of program names, or “*”, which unregisters all registered programs. APO cannot be unregistered.
Examples:
unregister UW02 PU01
unregister *
Returns:
authList for all PROGRAMS.
programs.

Keywords

actors=ACTORS
The actors which are currently listed as being subject to permissions.
Examples:
actors="tcc", "dis", "grim", "tlamps"
actors=
This form for empty values does not work with the existing software, so has temporarily been changed to actors
authList=PROGRAM,ACTORS
The actors that PROGRAM can send commands to. ACTORS is a possibly empty comma-separated list.
Examples:
authList=”UW04”,”tcc”,”dis”,”tlamps”
authList=”UW04”,
lockedActors=ACTORS
The actors which non-APO commanders are temporarily blocked from sending command to.
Examples:
lockedActors="tcc", "dis"
lockedActors=
This form for empty values does not work with the existing software, so has temporarily been changed to lockedActors
programs=PROGRAMS
The programs which are currently listed as being subject to permissions.
Examples:
programs="APO", "PU02", "UW04"
programs=
This form for empty values does not work with the existing software, so has temporarily been changed to programs