前のトピック: alias コマンド - selang 別名の定義

次のトピック: authorize- コマンド - リソースからのアクセス権限の削除

authorize コマンド - リソースに対するアクセス権限の設定

AC 環境で有効

authorize コマンドを使用して、リソースに対するアクセサのアクセス権限を変更できます。

このコマンドにより、リソースに関連付けられているアクセス制御リストが変更されます。 変更されるアクセス制御リスト エントリは一度に 1 つです。

アクセサがリソースにアクセスしようとすると、CA Access Control はアクセス権限を決定するために、適切なアクセス制御リストをチェックします。 チェック対象のアクセス制御リストはリソース レコードに記録されているもので、リソース グループ レコードに記録されているものが含まれることもあります。 アクセサが対象リソースをカバーする NACL のいずれかでアクセス権限を拒否されている場合、別の ACL で権限が与えられても権限は拒否されます。

リソースの所有者には常に、そのリソースに対するすべてのアクセス権限が与えられます。 所有者であるユーザのアクセス権限を変更するには、リソースの所有者を別のユーザ、たとえばユーザ nobody に変更します。

注: このコマンドは Windows 環境にもありますが、動作が異なります。

authorize コマンドを使用するユーザには、適切な権限が必要です。具体的には、以下の条件を 1 つ以上満たしている必要があります。

authorize コマンドは、クラスのグループによって形式が異なります。 クラスは以下のグループに分類されます。

TCP クラスが対象の場合のコマンド形式は以下のとおりです。

{authorize|auth} TCP tcpServiceName ¥
[{access|deniedaccess}(accessType)] ¥
[ghost(ghostName [,ghostName]...)] ¥
[host(hostName [,hostName]...)] ¥
[hostnet(hostNetName [,hostNetName]...)] ¥
[hostnp(hostNamePattern [,hostNamePattern]...)] ¥
{gid|uid|xgid|xuid}(accessor [,accessor]...]) ... 

HOST、GHOST、HOSTNET、および HOSTNP クラスタが対象の場合のコマンド形式は以下のとおりです。

{authorize|auth} {HOST|GHOST|HOSTNET|HOSTNP} stationName
[{access|deniedaccess}(accessType)] ¥
service({serviceName|serviceNumber|serviceNumberRange}) ¥
{ gid | uid | xgid | xuid}(accessor [,accessor...]) ... 

その他すべてのクラスの場合の形式は以下のとおりです。

{authorize|auth} className resourceName ¥
[{access|deniedaccess}(accessType)] ¥
[calendar(calendarName)] ¥
[{unix|nt}]¥
[via (pgm ( program [,program]...))] ¥
{ gid | uid | xgid | xuid}(accessor [,accessor...]) ... 
access (accessType)

リソース アクセス制御リスト(ACL)のアクセス権限エントリを定義します。 この ACL には、どのアクセス権限がアクセサに与えられるかを指定します。

accessType

アクセス タイプ(read や write など)をリソース ACL に定義します。

注: authorize コマンドで access(accessType) オプションと deniedaccess(accessType) オプションをどちらも省略した場合、CA Access Control は、UACC クラスにあるリソース クラスのレコード(リソースがファイルの場合は UACC ファイル レコード)の暗黙のアクセス プロパティで指定されるアクセス権を割り当てます。

calendar(calendarName)

アクセス権限を決定するために使用するカレンダを指定します。

className

resourceName の所属先クラスを定義します。

deniedaccess(accessType)

リソース NACL に指定されているアクセス権限を変更します。NACL には、アクセサに対してどのアクセス タイプを拒否するかを指定します。 

accessType

拒否するアクセス タイプ(read や write など)を指定します。

gid (accessor [,accessor...])

アクセス権限の設定対象である内部グループを 1 つ以上定義します。

ghost(ghostName [,ghostName]...)

TCP/IP サービスに対するアクセス権限の設定対象であるグループ ホストを 1 つ以上定義します。

host(hostName [,hostName]...)

TCP/IP サービスに対するアクセス権限の設定対象であるホストを 1 つ以上定義します。

hostnet(hostNetName [,hostNetName]...)

TCP/IP サービスに対するアクセス権限の設定対象である HOSTNET レコードを 1 つ以上定義します。

hostnp(hostNamePattern [,hostNamePattern]...)

TCP/IP サービスに対するアクセス権限の設定対象である HOSTNP レコードを 1 つ以上定義します。

nt

Windows のシステム ACL に値を追加するかどうかを指定します。

FILE クラスに対してのみ有効です。

resourceName

変更対象のアクセス制御リストを持つリソース レコードを指定します。

service(serviceName|serviceNumber|serviceNumberRange)

ローカル ホストがリモート ホストに提供することが許されるサービスを指定します。

serviceNumber |serviceNumberRange

サービス番号またはサービス番号の範囲を指定します。

範囲は 2 つの整数をハイフン(-)で区切って「1-99」のように指定します。

制限: 指定できる整数の範囲は 0 ~ 65535 です。

stationName

指定されたクラスに属するレコード名を以下のように指定します。

tcpServiceName

アクセス権限を設定する対象の CA Access Control TCP サービス レコードを指定します。

uid (accessor [,accessor...])

アクセス権限の設定対象である内部ユーザを 1 つ以上定義します。

アスタリスク(*)を使用してすべての内部ユーザを指定することができます。

unix

UNIX のシステム ACL に値を追加するかどうかを指定します。

ACL をサポートする UNIX 環境でのみ有効です。また、FILE クラスのレコードに対してのみ有効です。

via(pgm(programName [,programName]...))

条件付きプログラム アクセスの対象となるプログラムを 1 つ以上定義します。 via パラメータには、リソースの PACL のエントリを指定します。 programName には、リソースにアクセスできるプログラムを指定します。 programName には、ワイルドカード文字を使用できます。 プログラムが PACL の複数のエントリと一致した場合、ワイルドカードとの不一致が最も長いエントリが優先されます。

programName にPROGRAM クラスで定義されていないプログラムまたはシェル スクリプトを 指定すると、そのプログラムまたはシェル スクリプトを保護する PROGRAM クラスのレコードが自動的に作成されます。

xgid (accessor [,accessor...])

アクセス権限の設定対象であるエンタープライズ グループを 1 つ以上定義します。

xuid (accessor [,accessor...])

アクセス権限の設定対象であるエンタープライズ ユーザを 1 つ以上定義します。

例: Angela に対するファイル読み取りの許可

以下の selang コマンドは、エンタープライズ ユーザ Angela に対し、FILE リソース /projects/secrets で保護されているファイルの読み取りを許可します。

auth FILE /projects/secrets xuid(Angela) access(read)

例: Angela のみに対するファイル読み取りの許可

以下の selang コマンドは、エンタープライズ ユーザ Angela に対してのみ、FILE リソース /projects/secrets で保護されているファイルの読み取りを許可します。

auth FILE /projects/secrets xuid(Angela) access(read)
auth FILE /projects/secrets defaccess (none)
chres FILE /projects/secrets owner(nobody)

注: UNIX で、ファイルに関する情報を取得する操作(ls -l など)をユーザが実行できるかどうかを制御するために read 権限が必要な場合は、STAT_intercept 環境設定を 1 に設定します。 詳細については、「リファレンス ガイド」を参照してください。

例: グループに属するすべてのユーザに対する端末へのログインの許可

以下の selang コマンドは、エンタープライズ グループ RESEARCH のすべてのメンバに対し、TERMINAL リソース tty10 で保護されている端末へのログインを許可します。

auth TERMINAL tty10 xgid(RESEARCH) access(read)

例: Joe に対するファイルのバックアップの許可

以下の selang コマンドは、エンタープライズ ユーザ Joe に対し、GFILE リソース secret_files で保護されているファイルのバックアップを許可します。

auth GFILE secret_files xuid(Joe) ¥
via(pgm(/bin/backup)) access(read)

Windows エンドポイントに対する同等のコマンドは以下のとおりです。

auth GFILE secret_files xuid(Joe) ¥
via(pgm(C:¥WINDOWS¥system32¥ntbackup.exe)) access(read)

これらのコマンドは、Joe のアクセス権限がリソースの ACL または NACL で規定されていない場合のみ有効です。

詳細情報:

authorize- コマンド - リソースからのアクセス権限の削除

authorize コマンド - Windows リソースに対するアクセサのアクセス権限の設定

chfile コマンド - ファイル レコードの変更

ch[x]grp コマンド - グループ プロパティの変更

chres コマンド - リソース レコードの変更

ch[x]usr コマンド - ユーザ プロパティの変更

authorize- コマンド - Windows リソースに対するアクセサのアクセス権限の削除