This manual assumes that you are working on a previously installed, compiled, and running system. 1 (See the System Administrator Manual for information on installing, compiling, and starting a new Legion system.) Before going any further, be sure that the system is properly installed and running. Check with your system administrator if you are unsure.
Please note that while your local file path will change as you move through Legion's binary files, it will not change as you move through context space. Legion offers a graphical user interface (GUI--see See The GUI ) to help you negotiate this space more easily. We will start looking at context space in the GUI to give you a better idea of the individual components of context space and then go to the command line and look at context-related commands that can be used to run programs and manipulate Legion objects.
Before anything else, you must set up the proper environment variables and log in to a Legion system as a Legion user.
The exact syntax will depend on what kind of shell you are using and on where your Legion files are installed. Your system may have different requirements: consult your system administrator for more information.
If your system administrator has enabled Legion's security features, you must have a user id and log in to Legion before you can start working. Your system's log in procedure may differ from what is laid out here: please see your system administrator for exact instructions. The default system requires that all users have user ids and passwords. This allows Legion to keep track of your objects and to know what kind of user privileges you have. It also prevents malicious users from interfering with your objects or gaining illicit access to your system.
When you log in to a Legion system you are identified by a special object called the AuthenticationObject : this object contains your password, initial implicit parameters (the Legion equivalent of a the Unix "environment"), and other information. AuthenticationObjects are created when you create a user id. A set of Legion commands can be used to retrieve or change this information (see section See Security in the Legion Reference Manual for these commands). When an authenticated user runs a Legion process a certificate confirming his or her identify is passed along to verify that this person has permission to run the process. This certificate is created and signed by your AuthenticationObject (if your AuthenticationObject is destroyed, you will have to get a new user id).
You need a user id before you can log in. Ask your system administrator if you do not have one. You can then log in with the legion_login command. The system will request your password and verify your identity and your security privileges.
If your system administrator has enabled Legion security, the objects that you create while logged in cannot be used by any other users. If you wish to share your objects you will need to give other users permission to read, write, or execute objects. The legion_change_permissions command lets you do this. The syntax is:
You can use the [ r ], [ w ], or [ x ] flags to add [ + ] or remove [ - ] read, write, or execute permissions on objects. So, if you wanted to allow user bob to be able to read your file object foo , you would enter:
This lets bob "read" your object foo . Please see See legion_change_permissions in the Reference Manual for full documentation of this command.
1. It is actually not always necessary to have a Legion system running in order to use Legion: some Legion hosts can run in "consumer mode." Consumer mode hosts do not require the full set of Legion system binaries to be installed and running; a subset of binaries can access a Legion system that runs on different remote hosts, and can potentially even use that system to execute parts of Legion programs. A consumer mode host cannot itself be used to carry out parts of Legion programs unless those programs are started directly on that host by mechanisms outside of Legion (for example, from a shell running on the host's operating system).