2.8 Security

legion_add_acl 
     [[-c] <object context path> | -l <object LOID>] {-s | <filename>}
     [-debug] [-help]

Adds an access control list to the object named in <object LOID> or <object context path> or, if no object is named, the current environment. This command resembles legion_set_acl, but it merges in a new access control list. For example, if the current access control set contains access control lists for methods A and B of class XYZ's instances, adding new access control lists for class XYZ's methods B and C will not change A, replace B, and add C.

The following options are supported:

-s

Read from stdin.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_add_implicit_params [-l <AuthenticationObject LOID> | 
	-c <AuthenticationObject context path>] 
     {-s | <filename>} [-debug] [-help]

Add an implicit parameter to the AuthenticationObject named in <AuthenticationObject LOID> or <AuthenticationObject context path> or, if no AuthenticationObject is named, the current environment. The arguments take the same input format as legion_set_implicit_params. New parameters merge into the existing implicit parameter set (i.e., new parameters override old ones of the same name). There is no way to remove or unset selected implicit parameters.

The following option is supported:

-s

Read from stdin.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_change_owner 
     [-v] [-r] {[-c] <object context name> | -l <object LOID>}
     {-l <target owner LOID> | -c <target owner context path>
     [-debug] [-help]

Changes an object's owner. This command currently works only on unclaimed objects: if an object is already owned you would have to be logged in as both the current owner and the target owner in order to run this command.

The following options are supported:

-v

Run this command in verbose mode.

-r

Run this command in recursive mode. If the specified <object LOID> or <object context path> is a class, ownership of all instances, sub-instances, etc. will change. If the specified <object LOID> or <object context path> refers to a context object, change ownership of all context entries, recursively applying the operation to sub-contexts will change. In either case, ownership of the root object referred to by <object LOID> or <object context path> is changed.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_change_permissions 
     [+-rwx] [-v] <group/user context path> 
     <target context path> [-debug] [-help]

Changes an object's read, write, and execute permissions so that you can allow the user or group named in <group/user context path> to use the object named in <target context path>. This tool manipulates an object's access control list (ACL) so that other users can call methods on your objects. For our purposes, "read" methods are defined as methods that obtain but do not modify an object's state, "write" methods are methods that modify an object's state, and "execute" methods are methods that run an object. The example below would allow bob to read object foo.


$ legion_change_permissions +r /users/bob foo

This command works on common Legion object types: context, file, class, tty, implementation, host, and vault objects all fall into this category.

The following optional parameters are supported:

-r

Deny read permissions to the target object.

+r

Grant read permissions to the target object.

-w

Deny write permissions to the target object.

+w

Grant write permissions to the target object.

-x

Deny execute permissions to the target object (note that this option is for class objects only).

+x

Grant execute permissions to the target object (note that this option is for class objects only).

-v

Run the command in verbose mode. You will see a list of the ACLs that have changed.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_create_user 
     [-a <admin path>] [-z <password>] 
     [-h <new home context>] [-c <AuthenticationClass path>] 
     <user id path> [-debug] [-help]

This command is actually a simple wrapper around the legion_create_user_object command. The full command give more control to the creation of AuthenticationObjects.

The user id is the context name of an AuthenticationObject: the legion_create_object utility creates the object and assigns it the context name given in <user id path>. Please note that this argument is a full path (relative or absolute). Note also that the user id's context has nothing to do with that user's privileges in that context.

Once a user is created, the legion_login command is used to log in. The command will prompt for a password for the new user (unless you use the -z option), and will return the new object's LOID.

The following options are supported:

-a <admin path>

Specify the admin object's context path. Default is /users/admin.

-z <password>

Specify the new user id's password. The default setting will prompt for the password after the command has been run. This option is not recommended for casual use, since the password will be visible on the command line.

-h <new home context>

Specify the new user's home context. Default is /home/<user id>.

-c <AuthenticationClass path>

Specify the AuthenticationClass which you wish to instantiate. Default is /class/AuthenticationClass.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_create_user_object
     {[-c] <class context name> | -l <class LOID>}
     [-h <host for new object> | -v <vault for new object>]
     [-f <implicit parameter file>] [-z <password>] <user name>
     [-debug] [-help]

Creates a new object to represent a new Legion user id. The new object can be an instance of the AuthenticationObjectClass or another class that implements AuthenticationObjects.

The following options are supported:

-h <host for new object>

Specify where the new object should be created.

-v <vault for new object>

Specify where the new object's persistent state should be stored.

-f <implicit parameters filename>

This option names a file containing implicit parameters to be stored in the newly created AuthenticationObject (handed out on legion_login). The filename can be "-", in which case the command reads the parameters from the standard input.

Note that these are *not* the implicit parameters that control the behavior of the new AuthenticationObject. Upon login, the user's environment will be set to contain the latter set of implicit parameters, and they will affect the creation of all subsequent objects.

This option is intended to make it easier to administer the system. In particular, admin can create user accounts that include implicit parameters that by default give the admin access rights to all of the users' subsequently created objects.

-z <password>

Include the new user id's password in the command line. This option is not recommended for casual use, since the password can potentially be seen by other users while the command is operating.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_get_acl 
     [[-c] <object context path> | -l <object LOID>] [-debug] [-help]

Returns the access control list of the object named in <object LOID> or <object context path>, or, if no object is named, the default access control set associated with the current logged-in Legion session. This command returns 2 as its exit status if the object/session has no access control list.

The following options are supported:

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_get_implicit_params 
     [[-c] <object context path> | -l <object LOID>] [-debug] [-help]

Get the implicit parameters of the object named in <object LOID> or <object context path>, or, if no object is named, the current logged-in Legion session. The former is analogous to looking in a Unix .profile or .cshrc for which environment variables get set at login and the latter is analogous to Unix printenv.

The following options are supported:

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_init_security
     [-debug] [-help]

Creates the initial user (called by default /users/admin) in a new Legion system. This command should be run immediately after legion_initialize when you are starting your system. The script creates a new context called /users, a new user object called admin. The context name admin is placed in the new /users context. You will be asked to give a password. You can change the admin's password with the legion_passwd command.

After running legion_init_security you must login as admin in order to use the system. Use the legion_login command, with /users/admin as the <user name> parameter. This command only needs to be run once, when the system is first started. Only one /users/admin should exist in a system.

The following options are supported:

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_login 
     [-l <user LOID> | <user id>] [-debug] [-help]

Allows user to log in to the Legion system as a user, and sets up implicit parameters and security credentials for the user. Note that the command can be run without any arguments (although it will prompt for a user name if a user LOID or user id is not given). User names are context names for AuthenticationObjects (special objects that contain a user password, initial implicit parameters, and other information), created with the legion_create_user command. On a successful login, a credentials file (a user read-only file) is created in the local /tmp directory. The user's shell must be able to see the file, so that his/her command-line utilities can use it. The file will be removed when the user logs out with legion_logout (below). You get a separate credentials file for each shell in which you run legion_login.

The following options are supported:

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_logout
     [-debug] [-help]

This logs out a user out of Legion. This command removes the credentials file that is created by the legion_login utility and has the effect of logging the user out of a secure Legion system.

We strongly recommend that users insert this command into a .logout file or some other script that is run when a user logs out. This ensures that credential files do not remain in the system for unnecessarily long periods.

The following options are supported:

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_passwd 
     {-l <user LOID> | <user name>} [-debug] [-help]

Changes a user's password: the command will prompt for the old and new passwords.

The following options are supported:

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_set_acl 
     {[-c] <object context name> | -l <object LOID>}
     [-s | <filename>] [-debug] [-help]

Sets the access control list of the Legion object named in <object context path> or <object LOID>. The default will set the access control set for the current environment. The input file should be an implicit parameters file (see $LEGION/src/UserObjects/Security/SampleImpli-citParams for an example). The implicit parameters file will be scanned only for access control information pertaining to the specified object or environment; all other entries in the file will be ignored. This access control list is inherited objects newly created in the current login session (it roughly corresponds to a Unix umask).

The following option is supported:

-s

Read from standard input.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

legion_set_implicit_params 
     [[-c] <object context name> | -l <object LOID>]
     [-s | <filename>] [-debug] [-help]

Set the implicit parameters of a specified AuthenticationObject or, if no object is named, the current environment. Any parameters that were previously set are cleared. These are the parameters that the user inherits when he logs into Legion -- they are passed along as different Legion commands are executed and are similar to environment variables that user might set up in a Unix .profile of .cshrc file. If no AuthenticationObject is specified, the current Legion login session's implicit parameters are modified (the changes will not persist to the next login session). The command reads the implicit parameters from a file (or the standard input). A sample file can be found in $LEGION/src/UserObjects/Security/SampleImplicitParams.

The following option is supported:

-s

Read from standard input.

-debug

Catch and print Legion exceptions.

-help

Print command syntax and exit.

Directory of Legion 1.6.4 Manuals
[Home] [General] [Documentation] [Software]
[Testbeds] [Et Cetera] [Map/Search]

Free JavaScripts provided by The JavaScript Source

legion@Virginia.edu
http://legion.virginia.edu/