1

私の家には、2 台の PC、メインの Windows ゲーム リグ、および ubuntu 13.04 ファイル サーバーがあります。(単なるubuntuだけでubuntuサーバーを実行していません)

OSドライブをluksで暗号化しています(インストールにより)

しかし、Truecrypt で暗号化された HDD が 5 台あります。私のニーズのために、彼らはtruecryptを維持する必要があります。PCの起動時にドライブをマウントするために、次の2つのスクリプトをセットアップしています。

ターミナルを開いて次のスクリプトを実行するこの単純なもの-

#!/bin/bash
sleep 10

gnome-terminal -e /home/kun7/.TrueCrypt/mount_truecrypt_volumes.sh

そして、次のコードを実行して truecrypt パスワードを取得し、指定したポイントにドライブをマウントします (他のプログラム/ライブラリ/ショートカットなどのために指定したポイントに移動する必要があります)

#!/bin/bash

echo "Enter password ..."

oldConfig=`stty -g`
stty -echo
read password
stty $oldConfig

echo "Opening Pandora's Box ..."


truecrypt -t /dev/sdb5 /media/P --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/sda1 /media/B --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/sdd1 /media/M --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/sde1 /media/V --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/sdf /media/S --password="$password"  -k "" --protect-hidden=no

echo "Drives mounted ... Close when ready"

exit 0

これは私が必要とするものに最適です。時々。私の問題は、PCI カードを介して接続された 2 つのドライブがあることです。通常、これらは OS によって sdb5 および sda1 として検出されますが、時々 sdc5 および sdd1 として識別されます。

これにより、スクリプトが返されます...

Enter password ...
Opening Pandora's Box ...
Enter your user password or administrator password: 
Error: No such file or directory:
/dev/sdb5
Incorrect password or not a TrueCrypt volume.

Enter password for /dev/sda1: Error: No such file or directory:
/dev/sdd1
Incorrect password or not a TrueCrypt volume.

Enter password for /dev/sdf: 

私がやりたいことは、スクリプトの最後に「if error」コマンドを追加して、それを伝えることです。「エラーの場合は、代わりにこれを使用してください」と入力し、OS がドライブ ポイントを変更するときの代替マウント パスをリストします。

それは理にかなっていると思います。

4

2 に答える 2

1

問題は、truecrypt を介したドライブのターミナル/スクリプト マウントの場合、次のようにすることです。

truecrypt -t /dev/sda /media/Stuff

ただし、起動するたびに各物理ドライブの /dev/sda が変更されると、スクリプトの価値がなくなります。すべてのリンクとライブラリは /media/stuff からセットアップされ、毎回同じドライブを指す /dev/sda に依存します。したがって、truecrypt を使用するには、いくつかの永続的な /dev/ *ポイントを作成する必要があります。

ヒント: udev を使用して、マッチに使用する情報を好み、設定が完全​​にランダム/カスタマイズされていることを確認してください /dev/ *

Here is my current process for getting everything to work

1 - PC boots and takes rules from 10-custom-hdd-scsi.rules
2 - Login to Ubuntu where 1 script open terminal and then runs "3"
3 - Truecrypt script prompts for password, and mounts drives to specified mount points allowing for links/libraries to work.

最初の実行 - sudo /lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/sda を実行し、結果をコピーします。あなたが持っているドライブごとにそれを行うと、ドライブのSCSI IDが得られます

10-custom-hdd-scsi.rules - このファイルは /etc/udev/rules.d に保存されています

# These are the rules to force all drives into specific /dev/sd** slots for truecrypt mounting
#
#KERNELS - looks upwards in device path to find
#PROGRAM - Runs this. It is a serch for WWID (world wide ID)
#RESULT  - This is the result its looking for. It is the specific Drives ID
#SYMLINK - Create the following link (i.e. personal /dev/***)
#
# "==" means match this
# "+=" means if it exists, do this aswell
#
KERNEL=="sd*", PROGRAM=="/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/%k", RESULT=="<DRIVES ID>", SYMLINK+="TC-a%n"

KERNEL=="sd*", PROGRAM=="/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/%k", RESULT=="<DRIVES ID>", SYMLINK+="TC-b%n"

KERNEL=="sd*", PROGRAM=="/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/%k", RESULT=="<DRIVES ID>", SYMLINK+="TC-c%n"

KERNEL=="sd*", PROGRAM=="/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/%k", RESULT=="<DRIVES ID>", SYMLINK+="TC-d%n"

KERNEL=="sd*", PROGRAM=="/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/%k", RESULT=="<DRIVES ID>", SYMLINK+="TC-e%n"

BANG - 各ドライブのリンクを作成するためのカスタム udev ルール。これで、毎回変更される標準の /dev/sd** と、同じままの /dev/TC-a が得られます。

ターミナルを開く最初のスクリプト

#!/bin/bash

gnome-terminal -e /home/kun7/.TrueCrypt/mount_truecrypt_volumes.sh

そして今、truecrypt にドライブをマウントするように指示するスクリプト

#!/bin/bash

echo "Enter password ..."

oldConfig=`stty -g`
stty -echo
read password
stty $oldConfig

echo "Opening Pandora's Box ..."


truecrypt -t /dev/TC-a /media/E --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/TC-b /media/D --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/TC-c /media/C --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/TC-d /media/B --password="$password"  -k "" --protect-hidden=no
truecrypt -t /dev/TC-e /media/A --password="$password"  -k "" --protect-hidden=no

echo "Drives mounted ... Close when ready"

exit 0

-PC を起動してログインすると、truecrypt のパスワードを要求するターミナルが表示されます。-入力してください。

-次に、ユーザーのパスワードを求められます。

-スクリプトが実行され、ドライブがマウントされます。

-そして、ドライブの継続的な永続マウント ポイントができました。

于 2013-07-24T17:28:35.093 に答える