異なるシステムの目録を比較することによって、システムが同様にインストールされているかどうか、または同期してアップグレードされているかどうかを判定できます。たとえば、システムを特定のセキュリティーターゲットにカスタマイズした場合は、この比較によって、そのセキュリティーターゲットを表す目録と、その他のシステムの目録の間の相違がすべて見つかります。
始める前に
root 役割になる必要があります。詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。
# bart create options > control-manifest
これらのオプションについては、bart(1M) のマニュアルページを参照してください。
例については、Step 3の制御目録を作成する方法 を参照してください。
# bart create options > test1-manifest
例:
# cp control-manifest /net/test-server/var/adm/logs/bartlogs
テストシステムが NFS マウントしたシステムでない場合は、sftp または別の信頼できる手段を使用して、目録を中央の場所にコピーします。
# bart compare control-manifest test1-manifest > test1.report
この例では、2 つのシステム上の /usr/bin ディレクトリの内容を比較します。
制御目録を作成します。
# bart create -R /usr/bin > control-manifest.090713 ! Version 1.1 ! HASH SHA256 ! Saturday, September 07, 2013 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 /7z F 509220 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribu tes/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:rea d_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:r ead_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4dadc48a 0 2 3ecd418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 ...
制御システムと比較する各システムで同一の目録を作成します。
# bart create -R /usr/bin > system2-manifest.101013 ! Version 1.1 ! HASH SHA256 ! Monday, October 10, 2013 (10:10:22) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 ...
これらの目録を同じ場所にコピーします。
# cp control-manifest.090713 /net/system2.central/bart/manifests
目録を比較します。
# bart compare control-manifest.090713 system2.test.101013 > system2.report /su: gid control:3 test:1 /ypcat: mtime control:3fd72511 test:3fd9eb23
この出力は、/usr/bin ディレクトリ内の su ファイルのグループ ID が、制御システムのグループ ID と同じでないことを示しています。この情報は、テストシステム上に別のバージョンのソフトウェアがインストールされたことを示している可能性があります。GID が変更されているため、だれかがファイルを改ざんしたことが可能性として考えられます。