ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1M: システム管理コマンド Oracle Solaris 11 Information Library (日本語) |
- lofi を使用してブロックデバイスとして使用可能なファイルを管理する
/usr/sbin/lofiadm -a file [device]
/usr/sbin/lofiadm -c crypto_algorithm -a file [device]
/usr/sbin/lofiadm -c crypto_algorithm -k raw_key_file -a file [device]
/usr/sbin/lofiadm -c crypto_algorithm -T token_key -a file [device]
/usr/sbin/lofiadm -c crypto_algorithm -T token_key -k wrapped_key_file -a file [device]
/usr/sbin/lofiadm -c crypto_algorithm -e -a file [device]
/usr/sbin/lofiadm -C algorithm [-s segment_size] file
/usr/sbin/lofiadm -d file | device
/usr/sbin/lofiadm -U file
/usr/sbin/lofiadm [ file | device]
lofiadm は lofi (ループバックファイルドライバ) を管理します。lofi を使用すると、ファイルをブロックデバイスに関連付けることができます。関連付けられたファイルは、ブロックデバイスからアクセスできます。これはファイルになんらかのファイルシステムのイメージ (CD-ROM イメージなど) が含まれている場合に役立ちます。ファイルシステムのマウント、検査、または修復用の標準のシステムユーティリティーでそのブロックデバイスを使用できるからです。fsck(1M) および mount(1M) を参照してください。
lofiadm を使用して、ファイルをループバックデバイスとして追加したり、そうした関連付けを削除したり、現在の関連付けに関する情報を表示したりします。
利用可能な lofi デバイスの数は、zone.max-lofi rctl により制限されます。これは、大域ゾーンで zonecfg(1M) を使用すると設定できます。zone.max-lofi については、resource_controls(5) を参照してください。
暗号化オプションと圧縮のオプションの両方をコマンド行に指定することはできません。また、暗号化されたファイルをあとで圧縮することも、圧縮されたファイルをあとで暗号化することもできません。
大域ゾーンでは、大域ゾーンデバイス、およびシステムのほかの非大域ゾーンにより所有されるすべてのデバイスの両方で lofiadm を使用できます。
次のオプションがサポートされています。
file をブロックデバイスとして追加します。
device が指定されていない場合、使用可能なデバイスが 1 つ選択されます。
device が指定されている場合、lofiadm はそのデバイスの file への割り当てを試みます。device は使用可能でなければならず、そうでない場合は lofiadm は失敗します。デバイスを指定する機能は、特定の関連付けセットを再設定するスクリプトで使用するためのものです。
指定された圧縮アルゴリズムでファイルを圧縮します。
gzip 圧縮アルゴリズムでは、オープンソースの gzip コマンドと同じ圧縮が使用されます。gzip のレベルを値 gzip-N を使用して指定できます。この N は 6 (高速) または 9 (最大圧縮率) です。現在、数値を指定しない gzip は、gzip-6 (gzip コマンドのデフォルトでもある) に相当します。
lzma は、LZMA (Lempel-Ziv-Markov) 圧縮アルゴリズムを表します。
圧縮済みのファイルに書き込むことも、圧縮済みのファイルを読み取り/書き込みでマウントすることもできません。
関連付けられたブロックデバイスがビジー状態ではない場合は、file または device 名で指定された関連付けを削除し、ブロックデバイスの割り当てを解除します。
圧縮するファイルの分割に使用するセグメントサイズ。segment_size は整数で、512 の倍数です。
圧縮済みのファイルを圧縮解除します。
ファイルが暗号化されている場合は、次のオプションを使用します。
暗号化アルゴリズムを選択します。アルゴリズムはディスクイメージに格納されていないため、暗号化が有効な場合はアルゴリズムを指定する必要があります。
-e、-k、-T のいずれも指定されていない場合、lofiadm は 8 文字以上のパスフレーズの入力を求めます。PKCS#5 PBKD2 を利用した対称暗号化鍵の取得には、パスフレーズが使用されます。
raw またはラップされた対称暗号化鍵へのパス。PKCS#11 オブジェクトも -T オプションを使って指定される場合、そのオブジェクトにより鍵がラップされます。-T が指定されていない場合、raw の鍵が使用されます。
暗号化または鍵ファイルのラップ解除に使用される PKCS#11 トークン内の鍵。
-k も指定されている場合、-T でラップを解除する鍵を特定します。この鍵は RSA 秘密鍵である必要があります。
一時的な暗号化鍵を生成します。
次のオペランドがサポートされています。
aes-128-cbc、aes-192-cbc、aes-256-cbc、des3-cbc、blowfish-cbc のいずれか。
ブロックデバイス device と関連付けられたファイル名を表示します。
引数が指定されていない場合、現在の関連付けのリストを一覧表示します。ファイル名は有効な絶対パス名である必要があります。
ファイルが追加されると、root による読み取りまたは書き込みのためにファイルが開かれます。すべての制限が適用されます (NFS 上のルートアクセスの制限など)。ファイルは、関連付けが削除されるまで開かれたままになります。ブロックデバイスが使用されるまでファイルは実際にアクセスされないため、ブロックデバイスが読み取り専用で開かれた場合はファイルに書き込まれません。
現在のコンテキストでパスを解決できない場合 (非大域ゾーン内の NFS パスなど)、ファイル名が疑問符 (?) で表示されることがあります。
file に関連付けられているブロックデバイスを表示します。
raw 対称暗号化鍵に使用する、適切な長さ (単位はビット) のファイルへのパス。
PKCS#11 トークンオブジェクト。書式は次のとおりです。
token_name:manufacturer_id:serial_number:key_label
鍵ラベル以外はすべて省略可能であり、空でもかまいません。たとえば、鍵ラベル MylofiKey のみを使ってトークンオブジェクトを指定するには、次のように記述します。
-T :::MylofiKey
-T で指定された RSA 秘密鍵を使ってラップされた対称暗号化鍵を含むファイルへのパス。
例 1 既存の CD-ROM イメージのマウント
CD を作成する前に、Solaris がイメージを認識することを確認する必要があります。lofi を使用すればイメージをマウントでき、これが機能するかどうかを確認できます。
この例では、インターネットからダウンロードした Red Hat 6.0 CD の既存の CD-ROM イメージ (sparc.iso) をマウントします。これはインターネットから入手した mkisofs ユーティリティーで作成されました。
次のように lofiadm を使用して、これにブロックデバイスを接続します。
# lofiadm -a /home/mike_s/RH6.0/sparc.iso /dev/lofi/1
lofiadm はデバイスを選択し、デバイス名を標準出力に表示します。次のコマンドを実行して、lofiadm を再度実行できます。
# lofiadm Block Device File Options /dev/lofi/1 /home/mike_s/RH6.0/sparc.iso -
または、次のコマンドを実行して一方の名前を指定し、もう一方の名前を要求できます。
# lofiadm /dev/lofi/1 /home/mike_s/RH6.0/sparc.iso
mount コマンドを使用してイメージをマウントします。
# mount -F hsfs -o ro /dev/lofi/1 /mnt
Solaris がイメージを認識することを確認します。
# df -k /mnt Filesystem kbytes used avail capacity Mounted on /dev/lofi/1 512418 512418 0 100% /mnt # ls /mnt ./ RedHat/ doc/ ls-lR rr_moved/ ../ TRANS.TBL dosutils/ ls-lR.gz sbin@ .buildlog bin@ etc@ misc/ tmp/ COPYING boot/ images/ mnt/ usr@ README boot.cat* kernels/ modules/ RPM-PGP-KEY dev@ lib@ proc/
Solaris は CD-ROM イメージをマウントし、ファイル名を認識できます。イメージが正しく作成されたため、確信をもって CD-ROM を作成できます。
最終ステップとして、イメージのマウント解除および切り離しを行います。
# umount /mnt # lofiadm -d /dev/lofi/1 # lofiadm Block Device File Options
例 2 ファイル上の UFS ファイルシステムの作成
UFS ファイルシステムをファイル上に作成すると、特にテストスイートに新しいファイルシステムが必要な場合に便利です。テストスイートのためだけにディスクをパーティションに再分割することは手間がかかりますが、その必要はありません。lofi を使用するとファイルに newfs を実行できます。
ファイルを作成します。
# mkfile 35m /export/home/test
作成したファイルをブロックデバイスに接続します。newfs に必要な文字デバイスも取得するため、newfs は次のようになります。
# lofiadm -a /export/home/test /dev/lofi/1 # newfs /dev/rlofi/1 newfs: construct a new file system /dev/rlofi/1: (y/n)? y /dev/rlofi/1: 71638 sectors in 119 cylinders of 1 tracks, 602 sectors 35.0MB in 8 cyl groups (16 c/g, 4.70MB/g, 2240 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 9664, 19296, 28928, 38560, 48192, 57824, 67456,
ufs はファイル全体を使用できない場合があります。ファイルシステムをマウントおよび使用します。
# mount /dev/lofi/1 /mnt # df -k /mnt Filesystem kbytes used avail capacity Mounted on /dev/lofi/1 33455 9 30101 1% /mnt # ls /mnt ./ ../ lost+found/ # umount /mnt # lofiadm -d /dev/lofi/1
例 3 UNIX ファイル上の PC (FAT) ファイルシステムの作成
次に示す一連のコマンドは、FAT ファイルシステムを UNIX ファイル上に作成します。ファイルは lofiadm によって作成されたブロックデバイスに関連付けられています。
# mkfile 10M /export/test/testfs # lofiadm -a /export/test/testfs /dev/lofi/1 Note use of rlofi, not lofi, in following command. # mkfs -F pcfs -o nofdisk,size=20480 /dev/rlofi/1 Construct a new FAT file system on /dev/rlofi/1: (y/n)? y # mount -F pcfs /dev/lofi/1 /mnt # cd /mnt # df -k . Filesystem kbytes used avail capacity Mounted on /dev/lofi/1 10142 0 10142 0% /mnt
例 4 既存の CD-ROM イメージの圧縮
次の例では、既存の CD-ROM イメージ (solaris.iso) を圧縮し、イメージが圧縮されたことを確認してから、圧縮を解除します。
# lofiadm -C gzip /export/home/solaris.iso
次のように lofiadm を使用して、これにブロックデバイスを接続します。
# lofiadm -a /export/home/solaris.iso /dev/lofi/1
マップされたイメージが圧縮されたかどうかを確認します。
# lofiadm Block Device File Options /dev/lofi/1 /export/home/solaris.iso Compressed(gzip) /dev/lofi/2 /export/home/regular.iso -
圧縮されたイメージをマップ解除して、圧縮を解除します。
# lofiadm -d /dev/lofi/1 # lofiadm -U /export/home/solaris.iso
例 5 暗号化 UFS ファイルシステムをファイル上に作成する
この例は、前述の UFS ファイルシステムの作成例に似ています。
ファイルを作成します。
# mkfile 35m /export/home/test
ファイルをブロックデバイスに接続して、ファイルイメージの暗号化を指定します。このコマンドの結果、文字デバイスが取得されます。この文字デバイスは、あとで newfs により使用されます。
# lofiadm -c aes-256-cbc -a /export/home/secrets Enter passphrase: My-M0th3r;l0v3s_m3+4lw4ys! (not echoed) Re-enter passphrase: My-M0th3r;l0v3s_m3+4lw4ys! (not echoed) /dev/lofi/1 # newfs /dev/rlofi/1 newfs: construct a new file system /dev/rlofi/1: (y/n)? y /dev/rlofi/1: 71638 sectors in 119 cylinders of 1 tracks, 602 sectors 35.0MB in 8 cyl groups (16 c/g, 4.70MB/g, 2240 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 9664, 19296, 28928, 38560, 48192, 57824, 67456,
マップされたファイルシステムは、暗号化が有効であることを示します。
# lofiadm Block Device File Options /dev/lofi/1 /export/home/secrets Encrypted
ファイルシステムをマウントおよび使用します。
# mount /dev/lofi/1 /mnt # cp moms_secret_*_recipe /mnt # ls /mnt ./ moms_secret_cookie_recipe moms_secret_soup_recipe ../ moms_secret_fudge_recipe moms_secret_stuffing_recipe lost+found/ moms_secret_meatloaf_recipe moms_secret_waffle_recipe # umount /mnt # lofiadm -d /dev/lofi/1
以後、不正な鍵または不正な暗号化アルゴリズムを使用してファイルシステムをマップしようとしても失敗します。
# lofiadm -c blowfish-cbc -a /export/home/secrets Enter passphrase: mommy (not echoed) Re-enter passphrase: mommy (not echoed) lofiadm: could not map file /root/lofi: Invalid argument # lofiadm Block Device File Options #
暗号化なしでファイルシステムのマップを試みると成功します。ただし、ファイルシステムをマウントして使用しようとしても失敗します。
# lofiadm -a /export/home/secrets /dev/lofi/1 # lofiadm Block Device File Options /dev/lofi/1 /export/home/secrets - # mount /dev/lofi/1 /mnt mount: /dev/lofi/1 is not this fstype #
lofiadm の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LC_CTYPE、LC_MESSAGES、および NLSPATH。
次の終了値が返されます。
正常終了。
エラーが発生しました。
属性についての詳細は、attributes(5) を参照してください。
|
fsck(1M), mount(1M), mount_ufs(1M), newfs(1M), zonecfg(1M), attributes(5), resource_controls(5), lofi(7D), lofs(7FS)
マウントされたファイルシステムを持つディスクデバイスに直接アクセスしないのと同様に、lofi ファイルドライバを使用する場合を除き、ブロックデバイスに関連付けられているファイルにアクセスしないようにしてください。また、そのようなアクセスを防止するために、適切なアクセス権をファイルに設定することもお勧めします。
lofiadm の機能およびこの機能を使用できるユーザーは、/dev/lofictl のアクセス権によって制御されます。読み取りアクセス権は、すべての関連付けの表示などのクエリー操作を可能にします。書き込みアクセス権は、関連付けの追加などの状態変更操作の実行に必要です。出荷時の /dev/lofictl は、root によって所有され、グループ sys に所属し、モード 0644 に設定されているため、すべてのユーザーがクエリー操作を実行できますが、変更操作はルートのみに可能です。管理者は、ユーザーに書き込みアクセスを与えて、関連付けの追加または削除を許可することができますが、これはセキュリティーホールになる可能性が非常に高いため、信頼できるグループにのみ与えるようにしてください。
ファイルシステムイメージをマウントする場合は、適切なマウントオプションを使用するように注意してください。特に、出所が不明な UFS イメージには、nosuid マウントオプションが適切な場合があります。また、UFS に logging や forcedirectio を使用する場合のように、いくつかのオプションは役に立たなかったり適切でなかったりすることがあります。互換性を保つために、raw デバイスもブロックデバイスと一緒にエクスポートされます。たとえば、newfs(1M) にはこれが必要です。
lofiadm (引数なし) の出力は、将来のリリースで変更される可能性があります。