Compaq OpenVMS
システム管理者マニュアル


前へ 次へ 目次 索引


作業方法

  1. ユーザがログアウトするときに実行する,システム単位のログアウト・コマンド・プロシージャを作成する。通常,ファイル名は SYS$MANAGER:SYLOGOUT.COM とする。

  2. このコマンド・プロシージャが必ず実行されるように,最も使用される LOGOUT コマンドの省略形 (LO など) を SYS$MANAGER:SYLOGIN.COM に登録する。こうすれば,ログアウト・コマンド・プロシージャが実行される。



$ LO*GOUT:==@SYS$MANAGER:SYLOGOUT 

上記のように入力した後,LOGOUT コマンドの代替形 (LOGOUTNOW コマンドなど) を使用します。LO で始まれば,どんな名前でも使用できます。しかし,シンボルとして使用される省略形とまったく同じ名前 (この場合は LO) は使用できません。もう一度,このプロシージャを繰り返してしまうからです。別の方法として,次のコマンドをコマンド・プロシージャの最終行の前に指定することもできます。


$ DELETE/SYMBOL/GLOBAL LOGOUT 

この方法が使用できない場合もあるので,代用方法が数多く用意されています。

7.7.2 ユーザ・アカウントの変更

AUTHORIZE ユーティリティを使って設定したユーザ・アカウントのクォータや省略時のディレクトリ,パスワード,許可されている特権などの特性を変更する場合は,MODIFY コマンドを使用します。ただし,変更内容を有効にするためには,ユーザはいったんログアウトし,再度ログインする必要があります。


  1. ユーザがパスワードを忘れたためにログインできない場合には, AUTHORIZE の MODIFY/GENERATE_PASSWORD コマンドを使用して,ユーザのパスワードを変更します。たとえば,次のコマンドは WELCH というユーザの新しいパスワードを生成します。


    UAF> MODIFY WELCH/GENERATE_PASSWORD
    


    省略時の設定では,ユーザ WELCH はログイン後にパスワードを変更する必要があります。

  2. ユーザのレコードに加えた変更が有効になるのは,ユーザが次回ログインした後です。たとえば,JONES というユーザのオープン・ファイル・クォータ (FILLM) が 20 であると仮定します。このファイル制限を 40 に増やす場合は,AUTHORIZE ユーティリティから次のコマンドを実行します。


    UAF> MODIFY JONES/FILLM=40
    


    利用者登録ファイルを変更した時点でユーザ JONES がログインしていた場合,JONES のすべてのプロセスはオープン・ファイル制限数が 20 のままです。新しい制限数の 40 が有効になるためには,利用者登録ファイルの変更後,JONES がいったんログアウトし,もう一度ログインする必要があります。

7.7.3 ユーザ・アカウントのリスト作成

AUTHORIZE の LIST コマンドを使用すれば,SYSUAF.LIS という,UAF に含まれるすべてのユーザ・レコードの要約情報からなるファイルを作成することができます。省略時の設定では,LIST コマンドは次の UAF 項目について,簡単なレポートを作成します。

UAF に含まれるのすべての情報 (パスワードは除く) からなる詳細レポートを作成したい場合は,/FULL 修飾子を使用します。


7.7.4 ユーザ環境の保守

システムに変更を加える場合,システム管理者は次のことを行う必要があります。

こうした保守作業は,AUTHORIZE ユーティリティを使い,UAF のレコードを変更または削除することによって行うことができます。

新しい省略時のレコード・テンプレートの作成

すべてのユーザが同じような種類の仕事をするシステム上では,新しいユーザを追加するとき,システムが提供する省略時のレコード DEFAULT をテンプレートとして使用します。しかし,実際には,そのようなユーザもさまざまなカテゴリに別れていて,それぞれのカテゴリがある特定の仕事をしているので,一意のレコード属性が必要になってきます。システムが提供する省略時のレコードをテンプレートとして使用して,新しいユーザ・レコードを追加するたびに膨大な変更を加えるのは大変です。したがって,その代わりの方法として,各ユーザ・カテゴリのテンプレートとして使用できる,新しい省略時の UAF レコードを作成できます。

新しい省略時の UAF レコードを作成するにあたっては,次のことを行う必要があります。

作業方法

ユーザ・カテゴリを定義し,必要なレコード属性を作成したら,新しい省略時のレコードを定義します。


  1. 次は,特殊な機能別アカウントを必要とするユーザ・カテゴリ用の省略時のレコードを作成するコマンドの例。


    UAF> ADD DEFAULT2/LGICMD=ALT_COM_PROC/FLAGS=CAPTIVE -
    _UAF> /DEVICE=USER3:/DIRECTORY=[PRODUCT]
    


    この例では,システムに用意されている省略時のレコード DEFAULT を使用して DEFAULT2 というレコードを作成し,LGICMD,ログイン・フラグ,省略時の装置,そして省略時のディレクトリ・フィールドを変更している。この後,AUTHORIZE の COPY コマンドを使用して,DEFAULT2 と同じ属性を持つ別のレコードを作成することができる。
    COPY コマンドで,指定された省略時のレコードを使用した新しい UAF レコードを作成する。ただし,明示的に書き換えられたフィールドについては,新しい値に変更される。

  2. 次のコマンドは,新しいユーザ用に,省略時のレコード DEFAULT2 と同じレコードを作成する。


    UAF> COPY DEFAULT2 PALOOKA/PASSWORD=W7YA84MI/UIC=[360,114]
    


    この例では,DEFAULT2 をテンプレートとして,PALOOKA というユーザ用の重複レコードを作成している。変更しているのはパスワードと UICだけである。

7.7.5 ユーザ・アカウントの削除

アカウント,特に会話型アカウントと制約付きアカウントを削除するときに最も大きな問題となるのは,アカウントが使用していたファイルの削除です。

作業方法

次の手順に従ってください。

  1. 削除するユーザのファイルを,他のアカウントの所有権に有効なファイルにコピーする。または,削除するユーザのファイルをそのまま残しておく。前者の場合,ファイルの所有権 UIC を新しいユーザに一致するように変更する。後者の場合,BACKUP ユーティリティを使用して,バックアップ用テープやディスクにファイルをセーブしておくことも可能。

  2. パスワードを変更して,削除するアカウントのユーザとしてログインする。これは,所有権が異なる他のファイルを指しているファイルを誤って削除しないようにするためである。非特権アカウントから作業を行っている場合は,誤ってファイルを削除するという可能性がなくなる。

  3. 次に示す手順で,最下位から最上位に向かって,該当アカウントのファイルとディレクトリを削除する。

    1. DCL の DIRECTORY [ ディレクトリ指定...] を使って,すべてのサブディレクトリを探し出し,内容を調べる。このとき,ディレクトリ指定は,アカウントの省略時のディレクトリ名。

    2. 各サブディレクトリ内のファイルを削除し,続いてサブディレクトリを削除する。所有者によるディレクトリ・ファイルの削除は禁止されているので,ディレクトリ・ファイルを削除する前に,保護設定を変更する。

    3. アカウントの最上位ディレクトリを削除する。次の例は,最下位ディレクトリから最上位に向って,アカウントのファイルを削除するコマンド・プロシージャの例である。このプロシージャは特権アカウントで実行してはならない。

  4. ユーザ・アカウントを終了して特権アカウントに戻る。 AUTHORIZE ユーティリティを使って,アカウントを削除する。
    AUTHORIZE を使ってユーザの UAF レコードを削除する際に, AUTHORIZE は,ライト・データベース中の識別子のホルダとしてユーザの接続も削除する。切り離されたユーザが指定した識別子に対する唯一残っているホルダであった場合は,混乱を避けるためその識別子を削除する。『OpenVMS Guide to System Security』を参照。

  5. ディスク・クォータ・ファイルにユーザのディスク・クォータ・エントリを登録している場合は,SYSMAN を使ってエントリを削除する。

  6. MAIL コマンド REMOVE ユーザ名を入力して関連メール情報を削除する ( 『Compaq OpenVMS ユーザーズ・マニュアル』を参照)。

例 7-3 は,アカウントのファイルを削除するコマンド・プロシージャです。

注意

特権アカウントからこのコマンド・プロシージャを実行しないよう注意してください。

例 7-3 アカウントのファイルを削除するコマンド・プロシージャのテンプレート

$ !     DELTREE.COM - deletes a complete directory tree 
$ ! 
$ !     P1 = pathname of root of tree to delete 
$ ! 
$ !     All files and directories in the tree, including 
$ !     the named root, are deleted. 
$ ! 
$ IF "''DELTREE'" .EQS. "" THEN DELTREE = "@SYS$LIBRARY:DELTREE" 
$ ON CONTROL_Y THEN GOTO DONE 
$ ON WARNING THEN GOTO DONE 
$ DEFAULT = F$LOGICAL("SYS$DISK") + F$DIRECTORY() 
$10: 
$ IF P1 .NES. "" THEN GOTO 20 
$ INQUIRE P1 "Root" 
$ GOTO 10 
$20: 
$ IF F$PARSE(P1) .EQS. "" THEN OPEN FILE 'P1' 
$ SET DEFAULT 'P1' 
$LOOP: 
$ FILESPEC = F$SEARCH("*.DIR;1") 
$ IF FILESPEC .EQS. "" THEN GOTO LOOPEND 
$ DELTREE [.'F$PARSE(FILESPEC,,,"NAME")'] 
$ GOTO LOOP 
$LOOPEND: 
$ IF F$SEARCH("*.*;*") .NES. "" THEN DELETE *.*;* 
$ DIR = (F$DIRECTORY()-"]"-">")-F$PARSE("[-]",,,- 
         "DIRECTORY")-"]"-">")-"."-"["-"<" 
$ SET PROTECTION=WORLD:RWED [-]'DIR'.DIR;1 
$ DELETE [-]'DIR'.DIR;1 
$DONE: 
$ SET DEFAULT 'DEFAULT' 

7.7.6 BACKUP によるユーザ・ファイルの削除

ユーザ全員がそれぞれ一意の UIC を持つ場合は,ユーザのファイルがディレクトリ構造全体に散らばっていても, BACKUP ユーティリティを使用すれば特定のユーザのファイルを削除することができます。詳細は『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の BACKUP ユーティリティの説明を参照してください。


  1. 次は,BACKUP コマンドを使ってファイルを削除する例。


    $ BACKUP/DELETE PUBLIC:[...]/BY_OWNER=[21,103] MTA0:PUBLICUIC.SAV
    


    この BACKUP コマンドは,PUBLIC というディスク上にあって,指定されたUIC が所有するファイルだけをコピーおよび削除する。ファイルのコピー先は,装置 MTA0 の PUBLICUIC.SAV というセーブ・セットである。 BACKUP/DELETE はアカウントのディレクトリ・ファイル (ファイル・タイプ .DIR) は削除しない。

  2. 削除したファイルを回復させる場合は,次の形式で ANALYZE/DISK_STRUCTURE コマンドを使用する。


    ANALYZE/DISK_STRUCTURE/REPAIR/CONFIRM   装置名 
    


    削除したファイルの回復方法については 第 9.12.3 項 , ANALYZE/DISK_STRUCTURE ユーティリティについては,『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照。

7.7.7 ユーザ・アカウントの使用禁止

アカウントを削除せずに,使用禁止にだけする場合には, AUTHORIZE を使用してユーザ・アカウント使用禁止フラグ (/FLAGS=DISUSER) を設定します。ただし,このコマンドを実行した時点でユーザがすでにログインしている場合には,そのユーザがログアウトした後で,アカウントは使用禁止になります。

7.8 ユーザ・アカウントの制限

作業負荷スケジュールを検討してみると,ある特定の作業が特定の曜日または時刻に集中することがあります。作業の性質によって,あるユーザのログインを制限したいことがあります。AUTHORIZE ユーティリティを使用すれば,UAF レコードのログイン特性フィールドを調整できます。つまり,あるユーザがログインできる曜日または時刻を制限したり,あるログイン機能を禁止したりすることが可能です。

以降の項では,次の作業を実行する方法について説明します。

作業 参照箇所
曜日タイプの設定 第 7.8.1 項
ログイン時刻の制約 第 7.8.2 項
CPU 時間の制約 第 7.8.3 項
ログイン機能の制約 第 7.8.4 項
制約付きまたは機能別アカウント用ログイン・コマンド・プロシージャの使用法 第 7.8.5 項
ユーザ・プロセスに対する優先順位の設定 第 7.8.6 項

アカウントの制約に使用する修飾子についての詳細は,『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の AUTHORIZE ユーティリティの説明を参照してください。

7.8.1 曜日タイプの設定

各曜日を主曜日または副曜日のいずれかに定義し,それらの曜日タイプにログイン制約を設定することによって,アカウントの使用を制約することができます。たとえば,土曜と日曜を副曜日と定義し,副曜日にログイン制約を設定した場合は,その制約は土曜と日曜の両方に適用されます。

曜日タイプに設定可能なログイン制約は次の 2 とおりあります。

制約 説明
時間制約 曜日の特定の時刻のみログインを許可する。
機能制約 ログイン・タイプを制限する。

省略時のユーザ・レコードでは,月曜から金曜までの平日を主曜日,土曜と日曜の週末を副曜日と定義しています。

曜日の定義と制約の設定は,サイトによって異なります。たとえば,平日にはシステムが大人数の会話型ユーザをサポートし,週末はシステム資源を占有する必要がある特定の処理に使用すると仮定します。このような場合,副曜日に制限を設けることによって,副曜日として定義した曜日の間はユーザがシステムにアクセスしないようにすることができます。こうした曜日タイプの定義の変更は, AUTHORIZE の次の修飾子を使って行います。


/PRIMEDAYS=([NO]day[,...]) 

/PRIMEDAYS 修飾子には,主曜日と副曜日と定義する曜日名のリストを指定します。ある曜日を副曜日と定義する場合は,曜日名の前に接頭辞 NO を付けてください。リストに指定されなかった曜日は省略時の値を取ります。

7.8.2 ログイン時刻の制約

省略時の設定では,ログイン時刻の制約はありません。ログイン時刻を制約したい場合は,AUTHORIZE の次の修飾子を使用します。

修飾子 意味
/[NO]ACCESS すべてのモードのログインについてアクセス時刻を指定
/[NO]DIALUP ダイアルアップ・ターミナルからの会話型ログインについてアクセス時刻を指定
/[NO]INTERACTIVE ターミナルのタイプに関係なく会話型ログインについてアクセス時刻を指定
/[NO]LOCAL ローカル・ターミナルからの会話型ログインについてアクセス時刻を指定
/[NO]REMOTE ネットワーク遠隔ターミナルからの会話型ログインについてアクセス時刻を指定 (SET HOST)

アクセス時刻を過ぎても会話型ログインしたユーザがログアウトしない場合は,そのユーザに次の警告メッセージが出され,ジョブ・コントローラによるプロセスの終了前のログアウト猶予時間が 2 分与えられます。


JBC-W-RESTRICT, UAF restricts access at this time, please log out immediately 

ネットワーク接続は,会話型接続やバッチ・ジョブとは異なる方法で処理されることに注意してください。確立したネットワーク接続の切断の詳細については,使用しているネットワーク・ソフトウェアのマニュアルを参照してください。


前へ 次へ 目次 索引