home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat5 / projects.z / projects
Encoding:
Text File  |  2002-10-03  |  4.8 KB  |  133 lines

  1.  
  2.  
  3.  
  4. pppprrrroooojjjjeeeeccccttttssss((((5555))))                                                        pppprrrroooojjjjeeeeccccttttssss((((5555))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      pppprrrroooojjjjeeeeccccttttssss - introduction to IRIX projects
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      Many sites need to be able to charge individual departments separately
  13.      for their usage of a given system.  Typically, this can be done by
  14.      billing the total usage for each userid on the system to the appropriate
  15.      department.  However, some sites may have users that do work for more
  16.      than one department, so billing such a user's total usage to a single
  17.      department would not be appropriate.  It would be possible to give this
  18.      sort of user multiple user IDs or group IDs, but that can be difficult to
  19.      manage administratively, and besides it would be using a security feature
  20.      of the operating system to accomplish an accounting function.  Therefore,
  21.      IRIX has the concept of a pppprrrroooojjjjeeeecccctttt IIIIDDDD.
  22.  
  23.      A project ID is similar to a group ID, with two major exceptions:
  24.  
  25.      1.  The current project ID is associated with an entire array session,
  26.          not an individual process.
  27.  
  28.      2.  The project ID does not affect access permissions - it is intended
  29.          mainly for accounting purposes, and is in fact reported in extended
  30.          accounting information (see _e_x_t_a_c_c_t(5) for details).
  31.  
  32.      Users have a default project ID associated with their user IDs.  Whenever
  33.      it is necessary for a user to do work that should be billed to a
  34.      different project, the _n_e_w_p_r_o_j(1) command can be used to switch to a new
  35.      project ID.  The user's UID and GID are unchanged by the newproj command,
  36.      so access permissions are unaffected.  The newproj command starts a new
  37.      shell and array session so that programs running in the background under
  38.      the old shell will continue to be accounted for under the old project ID.
  39.  
  40.      To prevent users from specifying a project for which they are not
  41.      authorized, the _n_e_w_p_r_o_j command consults a file (////eeeettttcccc////pppprrrroooojjjjeeeecccctttt) that lists
  42.      the projects that are valid for each user.  ////eeeettttcccc////pppprrrroooojjjjeeeecccctttt is similar in
  43.      style to ////eeeettttcccc////ppppaaaasssssssswwwwdddd or ////eeeettttcccc////ggggrrrroooouuuupppp (see _p_r_o_j_e_c_t(4) for details).  Because
  44.      the project ID is a numeric value, an additional file (////eeeettttcccc////pppprrrroooojjjjiiiidddd, see
  45.      _p_r_o_j_i_d(4)) is used to correlate ASCII project names, which are used by
  46.      ////eeeettttcccc////pppprrrroooojjjjeeeecccctttt, with numeric project IDs.  A standard default project ID is
  47.      used when a user cannot be found in these files.  This default value can
  48.      be changed by modifying the ddddffffllllttttpppprrrriiiidddd variable using _s_y_s_t_u_n_e(1).
  49.  
  50.      The standard IRIX utilities for logging in to the system (e.g. _l_o_g_i_n,
  51.      _r_s_h_d) will automatically create a new array session and assign the user's
  52.      default project ID to it.  User-provided programs that perform a login or
  53.      the moral equivalent can (and should) do the same thing using the
  54.      _n_e_w_a_r_r_a_y_s_e_s_s(2) and _s_e_t_p_r_i_d(2) functions.  To assist in this, a number of
  55.      libc functions are provided for parsing ////eeeettttcccc////pppprrrroooojjjjeeeecccctttt and ////eeeettttcccc////pppprrrroooojjjjiiiidddd;
  56.      see, for example, _p_r_o_j_i_d(3C), _g_e_t_d_f_l_t_p_r_o_j_u_s_e_r(3C) and _v_a_l_i_d_a_t_e_p_r_o_j(3C)
  57.      for more details.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. pppprrrroooojjjjeeeeccccttttssss((((5555))))                                                        pppprrrroooojjjjeeeeccccttttssss((((5555))))
  71.  
  72.  
  73.  
  74. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  75.      systune(1), getprid(2), newarraysess(2), setprid(2), getdfltprojuser(3C),
  76.      getprojuser(3C), project(4), projid(4), array_sessions(5), extacct(5).
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.