4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[AIX] 最小特権運用:特権コマンド(snap)をEnhanced RBACで一般ユーザーに開放する

Last updated at Posted at 2026-01-25

はじめに

AIXにおいて、システム情報の収集を行う snap コマンドは通常、特権ユーザー(root)のみが実行可能です。一般ユーザーが実行しようとすると、以下のようにパーミッションエラーとなります。

$ whoami
testuser

$ snap
ksh: snap: 0403-006 Execute permission denied.
$

本記事では、AIXの Enhanced Role Based Access Control (RBAC) 機能を活用し、特定の一般ユーザーにカスタムロールを割り当てることで、snap コマンドを実行可能にする手順を確認しました。


動画

当記事のご参考動画です。音声動画で理解の一助にお役立てください。


環境

Operating System: AIX 7.3.1.1

# oslevel -s
7300-01-01-2246
#

準備:検証用一般ユーザーの作成

一般ユーザー bob を作成します。

# lsuser bob
3004-687 User "bob" does not exist.

プライマリ・グループに staff を割り当て

# mkuser pgrp=staff home=/home/bob shell=/usr/bin/ksh bob

作成直後の bob ユーザーの属性を確認すると、roles 項目は空の状態です。

# lsuser -a roles default_roles bob
bob roles= default_roles=

パスワードを設定

# passwd bob
Changing password for "bob"
bob's New password:
Enter the new password again:
#

現状確認:一般ユーザーができること・できないこと

一般ユーザーでも特権コマンドでない一般的なコマンドは実行が可能です。

  • errpt -> OK
$ errpt | head -n 3
IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION
E87EF1BE   0316150020 P O dumpcheck      The largest dump device is too small.
E87EF1BE   0315150020 P O dumpcheck      The largest dump device is too small.
$ errpt -aj E87EF1BE | head -n 10
---------------------------------------------------------------------------
LABEL:          DMPCHK_TOOSMALL
IDENTIFIER:     E87EF1BE

Date/Time:       Mon Mar 16 15:00:16 CDT 2020
Sequence Number: 1854
Machine Id:      00C5CA214B00
Node Id:         aix73testu
Class:           O
Type:            PEND
$
  • ls コマンド : 読み取り権限があるものはOK
$ ls -l /var
total 24
drwxrwx---    2 root     adm             256 May 11 2023  aacct
drwxrwxr-x   15 root     adm            4096 Oct 07 00:59 adm
drwxr-xr-x    3 root     system          256 Nov 21 2021  cache
drwxr-xr-x    2 root     system          256 Nov 21 2021  cache_mgt
drwxrwxr-x    6 bin      bin            4096 Sep 22 03:51 ct
  • cat コマンド : 読み取り権限があるものはOK
$ cat /etc/inittab | head -n 3
: @(#)49  1.28.5.6  src/bos/etc/inittab/inittab, cmdoper, bos730, initial_extract 8/11/14 00:17:16
: IBM_PROLOG_BEGIN_TAG
: This is an automatically generated prolog.
$
  • lparstat : OK
$ lparstat

System configuration: type=Shared mode=Uncapped smt=8 lcpu=8 mem=2048MB psize=8 ent=0.10

%user  %sys  %wait  %idle physc %entc  lbusy   app  vcsw phint  %nsp  %utcyc
----- ----- ------ ------ ----- ----- ------   --- ----- ----- -----  ------
  0.0   0.1    0.0   99.9  0.00   1.4    0.0  6.19 3263617547 10410   129  22.53
  • vmstat : OK
$ vmstat

System configuration: lcpu=8 mem=2048MB ent=0.10

kthr    memory              page              faults              cpu
----- ----------- ------------------------ ------------ -----------------------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa    pc    ec
 2  1 392368  3892   0   0   0   0    1   0   7   35 194  0  0 99  0  0.00   1.4
$
  • sftp : 実行エラーにならなかったのでOK
$ sftp
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
          [-D sftp_server_path] [-F ssh_config] [-i identity_file]
          [-J destination] [-l limit] [-o ssh_option] [-P port]
          [-R num_requests] [-S program] [-s subsystem | sftp_server]
          destination
$
  • ps : OK

root のプロセスも見えています。

$ ps -ef
     UID      PID     PPID   C    STIME    TTY  TIME CMD
    root        1        0   0   Oct 07      -  0:04 /etc/init
    root  2949486        1   0   Oct 07      -  0:00 /usr/ccs/bin/shlap64
    root  3211538        1   0   Oct 07      -  8:53 /usr/sbin/syncd 60
    root  3408128  6554074   0   Oct 07      -  0:00 /usr/sbin/biod 6
    root  3539352        1   0   Oct 07      -  0:00 /usr/lib/errdemon
    root  4588000  6554074   0   Oct 07      -  0:14 /usr/sbin/snmpmibd
    root  4653486        1   0   Oct 07      -  0:20 /usr/sbin/cron
    root  5112216  6554074   0   Oct 07      -  0:00 /usr/sbin/nfsd 3891
(省略)
  • lsattr : OK
$ lsattr -El sys0
SW_dist_intr    false                                Enable SW distribution of interrupts                True
autorestart     true                                 Automatically REBOOT OS after a crash               True
boottype        disk                                 N/A                                                 False

~ 省略 ~ 

  • snap : NG パーミッション・エラー
$ snap
ksh: snap: 0403-006 Execute permission denied.
$
  • chuser : NG パーミッション・エラー
$ chuser bob
ksh: chuser: 0403-006 Execute permission denied.
$
  • まとめ
コマンドカテゴリ コマンド例 実行可否 備考
システム統計・情報 lparstat, vmstat, iostat OK システムの稼働状況やパフォーマンス統計の参照は可能。
プロセス管理 ps -ef OK root ユーザーを含むシステム全体のプロセス一覧を参照可能。
エラーログ参照 errpt OK システムエラーログのサマリーや詳細の表示が可能。
ファイル操作 ls, cat OK パーミッション(読み取り権限)があるディレクトリやファイルは操作可能。
デバイス属性 lsattr OK システムデバイス(sys0等)の設定値の表示が可能。
ネットワーク/接続 sftp OK バイナリの実行およびヘルプ画面の表示が可能。
システム診断収集 snap NG 特権ユーザーのみ実行可能。一般ユーザーは Execute permission denied
ユーザー管理 chuser NG 特権ユーザーのみ実行可能。一般ユーザーは Execute permission denied

特権設定の調査(root ユーザーで実施)

snap コマンドを一般ユーザーで動かすために、まずはコマンドに必要な権限(Authorization)を調査します

以下は root ユーザーで確認・実行しています。

# whoami
root
#
  • snap コマンドに割り当たっている権限を確認します。
# lssecattr -c -a accessauths /usr/sbin/snap
/usr/sbin/snap accessauths=aix.system.stat,aix.ras.snap

lssecattr コマンド

特権ファイル・データベース

特権ファイル・データベース内の項目は、 lssecattr コマンドを使用してリストすることができ、 setsecattr コマンドを使用して作成または変更することができます。


# grep -p "/usr/sbin/snap" /etc/security/privcmds
/usr/sbin/snap:
        accessauths = aix.system.stat,aix.ras.snap
        innateprivs = PV_AZ_ROOT,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_KER_ACCT,PV_KER_RAC,PV_PROC_PRIV,PV_PROC_RAC
        inheritprivs = PV_AU_PROC,PV_AZ_READ,PV_AZ_ROOT,PV_DAC_,PV_DAC_GID,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_DEV_CONFIG,PV_DEV_QUERY,PV_FS_CHOWN,PV_FS_MKNOD,PV_KER_ACCT,PV_KER_EXTCONF,PV_KER_LVM,PV_KER_RAC,PV_KER_RAS,PV_KER_VARS,PV_NET_CNTL,PV_NET_PORT,PV_NET_RAWSOCK,PV_PROC_PRIV,PV_PROC_RAC,PV_PROC_TIMER,PV_PROC_VARS
        egid = 0
        secflags = FSF_EPS

#

snap の実行には、以下の2つの権限が必要であることがわかります。

  • aix.system.stat
  • aix.ras.snap

AIXのRBACでは、ユーザーに「コマンドを実行する権利(Authorization)」を与えます。一方で、コマンド自体には「実行時にOSの制限を回避する力(Privilege)」が定義されています。 ユーザーが正しい権限(Role)を持ってコマンドを叩くと、コマンド側が持つ特権が有効になり、rootでなくてもシステム内部の情報にアクセスできるようになる仕組みです。


カスタムロールの作成と割り当て

必要な権限が判明したため、これらをまとめたカスタムロール SnapRole を作成し、ユーザーに付与します。

1: ロールの作成

# mkrole authorizations=aix.system.stat,aix.ras.snap SnapRole

# lsrole SnapRole
SnapRole authorizations=aix.system.stat,aix.ras.snap rolelist= groups= visibility=1 screens=* dfltmsg= msgcat= auth_mode=INVOKER id=20
#

なお、aix.system.stataix.ras.snap で許可されているコマンドも実行が可能になります。

aix.system.stataix.ras.snap に紐づくコマンドを /etc/security/privcmds で確認

確認結果 (おりたたみ)
  • aix.system.stat
# grep -p "aix.system.stat" /etc/security/privcmds
/usr/bin/lslicense:
        accessauths = aix.system.stat,aix.system.config
        innateprivs = PV_DAC_R,PV_DAC_X,PV_KER_IPC_R
        secflags = FSF_EPS

/usr/esa/sbin/accesskey_rtas:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_W,PV_DAC_O,PV_DEV_CONFIG
        secflags = FSF_EPS

/usr/esa/sbin/creatediag:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_O,PV_PROC_PRIV,PV_TCB,PV_KER_ACCT,PV_KER_RAC
        secflags = FSF_EPS

/usr/esa/sbin/esa_auth:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_X,PV_KER_RAC,PV_NET_CNTL,PV_NET_PORT,PV_AU_ADD,PV_DAC_W
        secflags = FSF_EPS

/usr/esa/sbin/esa_checkrole:
        accessauths = aix.system.stat
        innateprivs = PV_PROC_PRIV,PV_KER_ACCT
        secflags = FSF_EPS

/usr/esa/sbin/hmcControlled:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_W,PV_DAC_O,PV_KER_RAC,PV_DEV_CONFIG
        secflags = FSF_EPS

/usr/sbin/strinfo:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R
        secflags = FSF_EPS

/usr/sbin/machstat:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_X,PV_DEV_CONFIG
        secflags = FSF_EPS

/usr/sbin/lsvpd:
        accessauths = aix.system.stat
        innateprivs = PV_AZ_ROOT,PV_DAC_R,PV_DAC_X,PV_DEV_CONFIG
        secflags = FSF_EPS

/usr/lib/boot/bin/machstat_chrp:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DEV_CONFIG
        secflags = FSF_EPS

/usr/sbin/pstat:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_X
        secflags = FSF_EPS

/usr/bin/genld:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R
        secflags = FSF_EPS

/usr/bin/gennames:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_SU_UID
        secflags = FSF_EPS

/usr/bin/gensyms:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R
        secflags = FSF_EPS

/usr/lib/sa/sa1:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R
        secflags = FSF_EPS

/usr/lib/sa/sa2:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_W
        secflags = FSF_EPS

/usr/lib/sa/sadc:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_KER_VARS
        secflags = FSF_EPS

/usr/sbin/sa:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_W
        euid = 0
        egid = 0
        secflags = FSF_EPS

/usr/sbin/sar:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_X,PV_KER_WPAR
        secflags = FSF_EPS

/usr/bin/ptx_wpar_provider:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_
        secflags = FSF_EPS

/usr/bin/xmwlm:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_
        secflags = FSF_EPS

/usr/sbin/snap:
        accessauths = aix.system.stat,aix.ras.snap
        innateprivs = PV_AZ_ROOT,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_KER_ACCT,PV_KER_RAC,PV_PROC_PRIV,PV_PROC_RAC
        inheritprivs = PV_AU_PROC,PV_AZ_READ,PV_AZ_ROOT,PV_DAC_,PV_DAC_GID,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_DEV_CONFIG,PV_DEV_QUERY,PV_FS_CHOWN,PV_FS_MKNOD,PV_KER_ACCT,PV_KER_EXTCONF,PV_KER_LVM,PV_KER_RAC,PV_KER_RAS,PV_KER_VARS,PV_NET_CNTL,PV_NET_PORT,PV_NET_RAWSOCK,PV_PROC_PRIV,PV_PROC_RAC,PV_PROC_TIMER,PV_PROC_VARS
        egid = 0
        secflags = FSF_EPS

/usr/esa/sbin/sa_snap:
        accessauths = aix.system.stat
        innateprivs = PV_AZ_ROOT,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_KER_ACCT,PV_KER_RAC,PV_PROC_PRIV,PV_PROC_RAC,PV_FS_CHOWN
        inheritprivs = PV_AU_PROC,PV_AZ_READ,PV_AZ_ROOT,PV_DAC_,PV_DAC_GID,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_DEV_CONFIG,PV_DEV_QUERY,PV_FS_CHOWN,PV_FS_MKNOD,PV_KER_ACCT,PV_KER_EXTCONF,PV_KER_LVM,PV_KER_RAC,PV_KER_RAS,PV_KER_VARS,PV_NET_CNTL,PV_NET_PORT,PV_NET_RAWSOCK,PV_PROC_PRIV,PV_PROC_RAC,PV_PROC_TIMER,PV_PROC_VARS
        secflags = FSF_EPS

/usr/sbin/mailstats:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_W,PV_DAC_X
        secflags = FSF_EPS

/usr/pmapi/tools/hpmstat:
        accessauths = aix.system.stat,aix.system.pmustat.global
        innateprivs = PV_SU_UID,PV_PMU_CONFIG,PV_PMU_SYSTEM,PV_DAC_R,PV_DAC_W
        secflags = FSF_EPS

/usr/bin/iostat:
        accessauths = ALLOW_ALL
        innateprivs = PV_KER_VARS
        authprivs = aix.system.stat=PV_PROC_PRIV
        secflags = FSF_EPS

/usr/bin/mpstat:
        accessauths = aix.system.stat
        innateprivs = PV_DAC_R,PV_DAC_X,PV_KER_WPAR
        secflags = FSF_EPS

/usr/bin/amepat:
        accessauths = aix.system.stat
        innateprivs = PV_AZ_ROOT,PV_DAC_R,PV_DAC_X,PV_DEV_QUERY,PV_KER_ACCT,PV_KER_EXTCONF,PV_KER_RAC,PV_KER_VMM,PV_KER_WPAR,PV_SU_UID,PV_TCB,PV_TP_SET
        secflags = FSF_EPS

/usr/bin/svmon:
        accessauths = aix.system.stat
        innateprivs = PV_AZ_ROOT,PV_DAC_R,PV_DAC_X,PV_DEV_QUERY,PV_KER_ACCT,PV_KER_EXTCONF,PV_KER_RAC,PV_KER_VMM,PV_KER_WPAR,PV_SU_UID,PV_TCB,PV_TP_SET
        secflags = FSF_EPS

/usr/bin/topas:
        accessauths = ALLOW_ALL
        innateprivs = PV_DEV_CONFIG,PV_DAC_O,PV_DAC_R,PV_DAC_X,PV_KER_ACCT,PV_KER_RAS,PV_FS_MKNOD,PV_DEV_QUERY
        authprivs = aix.system.stat=PV_PROC_PRIV
        secflags = FSF_EPS

/usr/bin/topas_nmon:
        accessauths = ALLOW_ALL
        innateprivs = PV_DEV_CONFIG,PV_DAC_O,PV_DAC_R,PV_DAC_X,PV_KER_ACCT,PV_KER_RAS,PV_FS_MKNOD,PV_DEV_QUERY
        authprivs = aix.system.stat=PV_PROC_PRIV
        secflags = FSF_EPS

/usr/bin/tprof:
        accessauths = aix.system.stat,aix.system.pmustat.global
        innateprivs = PV_DAC_R,PV_DAC_X,PV_PROC_SIG,PV_PMU_SYSTEM,PV_PMU_CONFIG,PV_PROC_PRIV,PV_DAC_W
        inheritprivs = PV_DEV_CONFIG,PV_DEV_LOAD,PV_DEV_QUERY,PV_FS_CHOWN,PV_KER_CONF
        secflags = FSF_EPS

#
  • aix.ras.snap
# grep -p "aix.ras.snap" /etc/security/privcmds
/usr/sbin/snap:
        accessauths = aix.system.stat,aix.ras.snap
        innateprivs = PV_AZ_ROOT,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_KER_ACCT,PV_KER_RAC,PV_PROC_PRIV,PV_PROC_RAC
        inheritprivs = PV_AU_PROC,PV_AZ_READ,PV_AZ_ROOT,PV_DAC_,PV_DAC_GID,PV_DAC_O,PV_DAC_R,PV_DAC_W,PV_DAC_X,PV_DEV_CONFIG,PV_DEV_QUERY,PV_FS_CHOWN,PV_FS_MKNOD,PV_KER_ACCT,PV_KER_EXTCONF,PV_KER_LVM,PV_KER_RAC,PV_KER_RAS,PV_KER_VARS,PV_NET_CNTL,PV_NET_PORT,PV_NET_RAWSOCK,PV_PROC_PRIV,PV_PROC_RAC,PV_PROC_TIMER,PV_PROC_VARS
        egid = 0
        secflags = FSF_EPS

#

aix.system.stat は、システム全体の統計情報を参照するための広範な権限です。
そのため、snap だけでなく topassvmon といったパフォーマンス診断コマンドの実行も許可されるようになります。


2:ユーザーへのロール割り当て

bob ユーザーに作成した SnapRole を付与し、デフォルトで有効になるよう設定します。

# lsuser -a roles default_roles bob
bob roles= default_roles=
# chuser roles=SnapRole default_roles=SnapRole bob
# lsuser -a roles default_roles bob
bob roles=SnapRole default_roles=SnapRole

3:カーネル・セキュリティ・テーブル(KST)の更新

setkst コマンドで反映します。

# setkst
Successfully updated the Kernel Authorization Table.
Successfully updated the Kernel Role Table.
Successfully updated the Kernel Command Table.
Successfully updated the Kernel Device Table.
Successfully updated the Kernel Object Domain Table.
Successfully updated the Kernel Domains Table.
Successfully updated the Kernel RBAC log level.
#

カーネルのセキュリティー・テーブル

権限に含まれる情報には、ロール、特権コマンドがあり、特権デバイス・データベースは、データがカーネルのセキュリティー・テーブル (KST) として指定されたカーネルの領域にロードされるまで、セキュリティーの考慮事項の対象としては使用されません。 拡張 RBAC モードでは、権限および特権検査がカーネルで行われます。したがって、カーネルでデータベースを使用するために、データベースをカーネルに送信する必要があります。

RBAC カーネルのセキュリティー・テーブルの更新

setkst コマンドはセキュリティー・データベースを読み取り、そのデータベースの情報をカーネルのセキュリティー・テーブル (KST) にロードします。


4: 動作確認

bob ユーザーに切り替えて、実際に snap コマンドが実行できるか確認します。

# su bob
$ whoami
bob
$
  • ロールが有効になっているかの確認
$ rolelist -a
SnapRole        aix.ras.snap
                aix.system.stat
  • snap コマンドの実行確認
$ snap
Usage: snap [-@gFGStnfkDpsAliIbBNLRwhHCZXYUM  | -u "user1,..." ] [ -z "product_name=productname, ..." | "class=classname, ..." | ALL ] [-o outputdevice] [-d dir] [All |
file:filename | scriptname1 [scriptname2] ...]
       snap [-aZ] [-o outputdevice] [-d dir]
       snap [-gGStnfkDpsAliIbBNLRwhHCZY] [-c] [-O splitsize] [-d dir] [All |
file:filename | scriptname1 [scriptname2] ...]
       snap [-o outputdevice] [-d dir]
       snap [-v component]
       snap [-c] [-O splitsize] [-d dir]
       snap [-r] [-d dir]

~ 省略 ~
 

Usageが表示され、コマンドが正常に呼び出せるようになりました。

  • snap 取得の実行

snap コマンドの -g (general) -c (compression) を実行し /tmp/ibmsupt/snap.pax.gz が生成されることを確認します。

$ snap -gc
/var/adm/ras/trcfile: No such file or directory
Checking space requirement for general information...............................................................................................................................................No such file or directory
/usr/sbin/snap[467]: /tmp/ibmsupt/general/nim/nimsh.log.tmp: cannot create
mv: cannot rename /tmp/ibmsupt/general/nim/nimsh.log.tmp to /tmp/ibmsupt/general/nim/nimsh.log:
No such file or directory
.. done.
.********Checking and initializing directory structure
Creating /tmp/ibmsupt/client_collect directory tree... done.
Creating /tmp/ibmsupt/vfc_client_collect directory tree... done.
Creating /tmp/ibmsupt/nvme_collect directory tree... done.
Creating /tmp/ibmsupt/scsidisk_collect directory tree... done.
Creating /tmp/ibmsupt/dpcom_collect directory tree... done.
Creating /tmp/ibmsupt/general directory tree... done.
Creating /tmp/ibmsupt/general/diagnostics directory tree... done.
Creating /tmp/ibmsupt/general/nim directory tree... done.
Creating /tmp/ibmsupt/pcixscsi directory tree... done.
Creating /tmp/ibmsupt/sissas directory tree... done.
Creating /tmp/ibmsupt/testcase directory tree... done.
Creating /tmp/ibmsupt/other directory tree... done.
********Finished setting up directory /tmp/ibmsupt

Checking Space requirement for client_collect
Checking Space requirement for vfc_client_collect
Checking Space requirement for nvme_collect
Checking Space requirement for scsidisk_collect
Checking Space requirement for dpcom_collect
Checking for enough free space in filesystem... done.

/var/adm/ras/trcfile: No such file or directory
Gathering general system information................................................................................................................................................. done.
Gathering platform/scanout information.done.
Gathering client_collect data
Gathering vfc_client_collect data
Gathering nvme_collect data
Gathering scsidisk_collect data
Gathering dpcom_collect data
Gathering pcixscsi system information....... done.
Gathering sissas system information...... done.

Creating compressed pax file...
Starting pax/compress process... Please wait... done.

-rw-------    1 207      0           1465127 Mar 17 02:19 snap.pax.gz
$

  • 確認

所有者が bobsnap ファイルが正しく作成されています。

$ ls -l /tmp/ibmsupt/snap.pax.gz
-rw-------    1 bob      system      1465127 Mar 17 02:19 /tmp/ibmsupt/snap.pax.gz

おわりに

AIXの Enhanced RBAC を利用することで、root 権限(sudo等)を丸ごと与えることなく、特定のコマンド(今回は snap )のみを一般ユーザーに安全に委譲することができました。

運用保守において、snap コマンド実行のみを特定ユーザーに任せたい場合などの手法としてご参考いただければと思います。


[参考]

4
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?