Toolserver:Multi-maintainer projects

Multi-maintainer projects are tools which have more than one maintainer. Each multi-maintainer tool has a dedicated Unix account and an assigned list of users have access to the account.

Creating a new project

 * File a request in JIRA, giving the name of the project and the user(s) who should have access.
 * Please mention if you require SQL access and/or a Subversion repository.

Adding users to a project

 * File a request in JIRA, giving the name of the project and the user(s) who should have access.

Using the project
To access the project, run become  on a login server. You cannot log in as the project; you must log in as yourself and use become. However, every user who has access will be in the group; making all files and directories group-read/writeable allows you to log in and edit normally.

Differences from ordinary accounts
There are several differences between multi-maintainer accounts and ordinary user accounts.
 * As described above, multi-maintainer accounts cannot log in. This also means they cannot ssh between toolserver hosts.
 * While user databases have names like u_username, databases for multi-maintainer projects have names like p_projectname.

Using screen
Using screen under a multi-maintainer account is slightly more complicated than under a normal account. The reason for this is that screen needs read-write access to your terminal device, which by default is only allowed for you. When you switch to the tool account and run screen, it is no longer running with your credentials, so it cannot access the terminal.

On Solaris you can fix this with the ttyallow script; run it before switching to the tool account, and you will be able to run screen: % ttyallow

On Linux this does not work, because the /dev filesystem does not support ACLs. It may be possible to work around this by starting screen in detached mode, using a configuration file that allows tool maintainers to attach using screen's multi-user support. This hasn't been tested; if you successfully use this method, please update this page.

Do not try to fix this problem by making your terminal device world-accessible. This opens your account to compromise and users who do so are breaking the rules.

Transferring files
Since you cannot log into a multi-maintainer account, the normal SCP/SFTP process for transferring files does not work. Instead, you should make sure that the tool's files are group-writable, then use SCP or SFTP as your normal account; since you are a member of the tool's group, you will be able to write to the files.

Paths
For project  ,
 * The home directory will be /home/project/t/h/e/theproject, containing a subdirectory public_html</tt>. When possible, do not hard-code this path in your scripts; use the $HOME</tt> environment variable instead. The webserver does not set $HOME</tt> in the environment of cgi scripts, but the information returned by getpwnam</tt> is correct and can be used to get the home directory.
 * The URL to the public_html</tt> directory will be http://toolserver.org/~theproject