z/OS UNIX RSHD インストール・システム出口のセットアップ

-r オプションが使用可能なときに、クライアントからの RSH コマンドで指定されたパスワードがない場合、z/OS® UNIX RSHD がインストール・システム出口を駆動します。インストール・システム出口が駆動されると、RSHD は、ruserok という名前の /usr/sbin でプログラムを探します。 これは RSHD が探す唯一の名前です。/usr/sbin/ruserok が検出されない場合、その要求は失敗します。

z/OS UNIX RSHD サーバーが /user/sbin/ruserok を起動する場合、 次の順序でパラメーターを渡します。

  1. ホスト名またはホスト IP アドレス
  2. ローカル・ユーザーの UID
  3. リモート・ユーザー ID
  4. ローカル・ユーザー ID
z/OS UNIX RSHD が インストール・システム出口からゼロの戻りコードを受け取る場合、z/OS UNIX RSHD は続行します。 インストール・システム出口から非ゼロの戻りコードを受け取ると、RSHD はクライアントにメッセージ EZYRS25E を出して、すべての接続を終了します。作業用の ruserok インストール・システム出口の作成を開始する場合、以下のコーディング部分を 1 つの例として使用することができます。
int main(argc, argv)                                            
     int argc;                                                  
     char *argv[];                                               
  char *rhost1;    /* "hostname" or "hostname.domain" of client 
                      obtained by caller:                       
                      gethostbyaddr(getpeername()) or the host
                      ip address used by the gethostbyaddr if
                      it failed to return a "hostname" */   
  int locuid;      /* uid of the user name on local system */
  char *cliuname;  /* user name on client's system */           
  char *servuname; /* user name on this (server's) system */    
  int rc = 4;                                                   
                                                                
  rhost1 = argv[1];                                             
  locuid = atoi(argv[2]);                                       
  cliuname = argv[3];                                           
  servuname = argv[4];                                          
  .                                                             
  <authenticate user and set rc=0 if valid>
  .          
  return(rc);