[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:55991] Re: シェルスクリプトについての質問です



Masakazu Takahashi さん
お世話様です。大坪です。

> 
> ちなみに私が追試したのは、squeeze のインストール時にデスクトップ環境を
> 指定し、インストール後に cryptsetup パッケージを入れた、まっさらな環境
> でした。
> 

私がどういう環境下でテストを行ったのかを予め述べていなかったので、
多くの方を戸惑わせたかと思います。申し訳ありません。

> > なお、udev + udisks + gvfsの場合も、sleepを用いずに、
> > (3) 自動的に luksOpen 相当の処理がなされて、論理デバイスがマウントされる
> > のを検知するのは難しいでしょうね。
> 
> 私の書いた挙動の場合、cryptsetup luksOpen が不要なので、そのまま sleep
> も不要になります。
> 

有益な情報を有り難うございます。
ヒントを元にsqueeze (gnome環境) 下での方法を模索して、
下記の cryptedDiskOpenDetectTestOnSqueeze.sh を得ました。
sleepを使用していませんが確かに、exists と表示されます。
しかしまだ/sbin/cryptsetup luksOpen /dev/sdc1 を用いています。
もしcryptsetup luksOpen を使わない方法があれば教えて頂ければ幸です。

------- cryptedDiskOpenDetectTestOnSqueeze.sh -------
#!/bin/bash

#squeeze (gnome環境) クリーンストール下での、
#暗号化したUSB接続外付けハードディスクsdc1が開かれたかを検出するシェルスクリプト。
# (cryptedDiskOpenDetectTestOnSqueeze.shの起動は、USB接続外付けハードディスクを
#   スイッチオンしてパスワード入力ダイアログが現れたとき、そのダイアログのキャンセルボタンを
#   押して、外付けハードディスクのスイッチオンだが、sdc1はまだ開かれていない状態で行う。)
# udisks-luks-uuid-68cf14dc-2bcc-58f2-a8eb-1de2ebb4a5f0-uid1009:
#   通常にハードディスクをスイッチオンしてダイアログでパスワードを入力してsdc1を開いた
#   時に、/dev/mapper/に現れるuuid
# b2bd7eb3-0139-4b54-ef6e-4be07b16ec31:
#   sdc1を開いたときに/media/に現れるディレクトリ名。いつもこの英数字列が現れるので、
#   これを下記スクリプトで使用。(ところでこの英数字列は何なのでしょう ?)


/sbin/cryptsetup luksOpen /dev/sdc1 udisks-luks-uuid-68cf14dc-2bcc-58f2-a8eb-1de2ebb4a5f0-uid1009
udisks --mount /dev/mapper/udisks-luks-uuid-68cf14dc-2bcc-58f2-a8eb-1de2ebb4a5f0-uid1009

if [ -e /media/b2bd7eb3-0139-4b54-ef6e-4be07b16ec31 ]; then
	echo "exists"
else
	echo "not exists"
fi

#umount /media/b2bd7eb3-0139-4b54-ef6e-4be07b16ec31
#/sbin/cryptsetup luksClose udisks-luks-uuid-68cf14dc-2bcc-58f2-a8eb-1de2ebb4a5f0-uid1009

------- cryptedDiskOpenDetectTestOnSqueeze.sh end -------