Home Corporate Contacts

TETware Knowledgebase




Return to Knowledgebase Index


2. Running tcc and tccd with different user IDs in Distributed TETware


This information is not applicable to Win32 systems.

Normally, tcc and tccd are run with the same user ID on the local system. This should be the same as the owner of the files below the test suite root directory on the local system. This arrangement is desirable because in Distributed TETware both tcc and tccd may create files in the test suite directory hierarchy. By default, tccd runs with the ID of the user tet and so it is appropriate for tcc to run with the ID of the user tet as well.

Sometimes it is necessary to run tcc with a different user ID from the one used by tccd. These instructions assume that you will run tccd as the user tet and the people who invoke tcc will use their own login IDs.

You should perform the following operations:

  1. Create a group called tet in the /etc/group file. Arrange for the supplementary group list of all the users who will use Distributed TETware to include the tet group. On most systems, you do this by listing all the login names in the last field of the tet entry in /etc/group.

    For example:


  2. In the /etc/passwd file, make sure that the tet user has the tet group as the primary group (this is shown in the fourth field in the password entry).

    For example:

    tet:x:106:102:TETware user:/home/tet:/bin/ksh
    Note that the 102 is the same as the 102 in the tet group entry.

  3. Run tccd with a umask of 2 (by using the -m command-line option). This will cause files created by tccd and the test cases and tools that tccd executes to be writable by group as well as by user. For example, you might put the following entry in /etc/inetd.conf:
    tcc  stream  tcp  nowait  tet  /home/tet/bin/in.tccd  in.tccd -m2

  4. Make sure that each user who will work with Distributed TETware has a umask of 2 (or less restrictive). You can do this by putting the line:
    umask 2
    in each user's .profile.

  5. Make sure that all the directories below $TET_ROOT belong to the group tet and are writable by group. You can do this by executing the following commands:
    cd $TET_ROOT
    find . -type d ! -group tet -print | xargs chgrp tet
    find . -type d -print | xargs chmod g+w
    Note that this assumes that you have not yet built any of the test cases. If you have, you will need to find all the build products and change them to group tet and mode 664 as well.

  6. Make sure that files and directories created below $TET_ROOT inherit the group of the directory in which they are created. On some systems this is the default behaviour, whereas on others you must turn on each directory's set-GID bit in order to enable this behaviour. If you need to turn on the set-GID bits you can do this by executing the following commands:
    cd $TET_ROOT
    find . -type d -print | xargs chmod g+s

Points to note:
  1. These instructions assume that the test case files are readable by owner and group (at least). If they're not, the following command will fix this:
    cd $TET_ROOT
    find . -type f -print | xargs chmod ug+r

  2. The instruction to set the set-GID bit on directories is to ensure that newly-created files and directories inherit their group ID from the parent directory. If this is your system's default behaviour, you don't need to set the set-GID bit in order to achieve this.

  3. These instructions assume that your system keeps password and group information in /etc/passwd and /etc/group. If your system uses NIS for its password and group databases you should ask your system administrator what to do.

  4. On some systems it is not advisable to edit the password and group files directly. Instead you should use the appropriate system administration commands to add and/or change entries in these files.

See also

  • "The Test Case Controller daemon tccd'' in the TETware User Guide.

  • The tccd manual page in the TETware User Guide.


Home Contacts Legal Copyright Corporate News

Copyright © The Open Group 1995-2012, All Rights Reserved