Extra files

From techdocs
Revision as of 12:19, 6 September 2023 by Plinich (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Extra files is the term used to refer to the ability for teaching staff to directly control the contents of particular file system locations on New World lab computers and login and VLAB servers.

See also extra packages.

See also extra versions.

/usr/local/extrafiles is a directory on the cfengine hub to which teaching staff have read/write access via SSH.

See user extrapackages in /etc/passwd on the hub. The user ID and group ID of this user are 998.

cf-agent uses rsync to synch the contents of this directory to the same-named directory on all user-loginable New World computers (i.e., lab computers, login servers and VLAB servers). The owner and group owner of all files and directories thus copied are set to the above user/group ID.

Additionally, all user-loginable computers have the following two files installed in /etc/profile.d:

  1. extrafiles.sh
  2. extraprofile.sh

The first, extrafiles.sh, configures two environment paths so users automatically have /usr/local/extrafiles/bin in their PATH and so that their PYTHONPATH is set to /usr/local/extrafiles/lib.

The second, extraprofile.sh, checks for the presence of /usr/local/extrafiles/extraprofile.sh and, if found, executes it in the environment of the current shell thus allowing teaching staff to further customise the execution environment of users.

Finally, cf-agent inserts "extrafiles" passwd and group entries in the corresponding files on the user-loginable hosts so that file owner lookups appropriately return "extrafiles".