初回終了時の個人保存ファイル設定を日本語のGUIで

4.X系の開発

モデレータ: 暇人, YoN, nyu

アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

軽い暗号化

投稿記事 by シノバー »

おはようございます。
重い暗号化は1回しか聞かれないのだから軽い暗号化も1回でいいと思います。
いろいろ調べたのですが、この問題は難しいようです。
Puppy Linux 4.00betaのさいに話題になっていて、開発者Barryの弁によると
重い暗号化(AES)と軽い暗号化(XOR)とでは losetupのコードレベルで相違があるみたいで
軽い暗号化の場合は3回パスワードを聞かれてしまうのだが、ま、いいか。
みたいな解決になっているようです。
http://www.puppylinux.com/news/news400a7-400b.htm

要求されるパスワードをスクリプトで突っ込むという方法は
どこかであったような気がするのですが失念しました。
どなたかご存じの方がおられたら教えてください。

それと、現在 losetupではなく losetup-FULL というのを使っていますが、
これって Puppy Linux オリジナルなんですかねえ?
これも、どなたかご存じの方...。
もし誤って間違ったパスワードを入れても気づきません。間違ったパスワードが採用されたらそのpup_save.2fsは使えなくなります。
まずいですよねえ。

どうでしょう、日本語版では軽い暗号化はサポートしないという決断もあっていいのかなと。
少なくとも推奨しない。

軽い暗号化は簡単に破れてしまうので、
そのニーズは、家庭内でパソコンを共用にしてる場合だけですよね。
もともとパピーリナックスはマルチユーザーを考慮していない設計だから
それを補完する意味で存在しているのだけれど。
家族に見られたくないデーターはUSBメモリに入れるとか...。
Puppy4.00.3-JPのFrugal起動で、SFS作成可能パーティションがないと言われます。
SAVEじゃなくてSFSでしょうか?
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

pupsave-0.20090428

投稿記事 by シノバー »

要求されるパスワードをスクリプトで突っ込むという方法が見付からないので
軽い暗号化のさいは次のようなメッセージを出すだけにしました。
シャットダウンプロセスの途中で(黒バックの画面) Password? と聞かれたらパスワードを入力してください。
2回入力が要求されますが最初のものが使われます。
パスワードの設定のところ、最終確認時など、全体的にメッセージを変更しています。
wmpoweroff, wmrebootもわずかに変更があります。
pupsave-0.20090428.pet としていつものところに置きました。
http://shino.pos.to/linux/puppy/
The bar master, Shino's Bar
http://shinobar.net/
voice
記事: 115
登録日時: 08/11/02(日) 08:27

投稿記事 by voice »

シャットダウンプロセスの途中で(黒バックの画面) Password? と聞かれたらパスワードを入力してください。
2回入力が要求されますが最初のものが使われます。
両方とも使われるようです。黒画面の前の1回も含めて3回の入力の意味は、

1回目:パスワードを変数MYPASSWORDに入れる(PuppyのXOR暗号では変数が渡せないので無意味、aesでは有効)。
2回目:mke2fsで作る「入れ物」のパスワードに採用される。(作った後一旦閉める)
3回目:mke2fsで作った「入れ物」を再び開けるパスワード。

ということのようです(かなり大雑把な説明ですが)。3回目に2回目と違うパスワードを入れるとpup_save.2fsが開いていない状態ですから、情報は保存できません(ただしエラーを表示する仕組みがない)。再起動するとpup_save.2fsは空の状態ですから、初回扱いでマウスなどの設定が要求されます。ですから「最初のものが使われます」という表現は半分あっているけど半分間違いな感じです。「同じものを入力してください」とした方がいいのかもしれません。

2回目と3回目が同じパスかをチェックするアイデアがあるのですが(間違ってるかもしれませんが)、やるとなると結構大変そうです。おまけにメッセージは全部英語ですし。

Puppy4.00.3-JPの件ですがSFSでなくpup_save.2fsです。それと、パスワード部分のことばかりやっていたので.petのテストが進んでいません。すみません。
Puppy4.1.2.1-JP(Full/Frugal)
HP dc5100 sf Celeron D 330(改) 2.66GHz/2048MB/40GB
VAIO PCV-L500(改) Pentium III Katmai 550MHz/256MB/30GB
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

軽い暗号化のパスワード

投稿記事 by シノバー »

1回目:パスワードを変数MYPASSWORDに入れる(PuppyのXOR暗号では変数が渡せないので無意味、aesでは有効)。
2回目:mke2fsで作る「入れ物」のパスワードに採用される。(作った後一旦閉める)
3回目:mke2fsで作った「入れ物」を再び開けるパスワード。

そういうことでしたか。テストしたつもりだったのに、空ファイルを読んでたんですね。
2回入力が要求されますが、打ち間違いはチェックされません。
ではくどいかなあ。
The bar master, Shino's Bar
http://shinobar.net/
voice
記事: 115
登録日時: 08/11/02(日) 08:27

テストその6 by voice

投稿記事 by voice »

pupsave-0.20090428.petのテストをPuppy4.1.2.1-JP/4.00.3-JPのFrugalでおこないました。問題なしです(4.00.3-JPのFrugalのパーティション認識もできています)。このあとCD起動のテストもおこなう予定です。

軽い暗号化で2回入力するパスワードが同じかどうかを確認できるようにrc.shutdownをいじってみました。パスワードが異なるとループバックデバイスにマウントできずエラーを吐くことを利用しています。1度目の入力からやり直す方式と2度目の入力のみやり直す方式の2種類を作りました。細かい説明をすると長くなるので、詳しくはREADME.txtをご覧いただければと思います。関数にすればコンパクトにできるかもしれませんが、とりあえずそのまま並べて書きました。pupsave-0.20090428.petのrc.shutdownをベースにしています。ファイルを以下のところに置きました。

https://sites.google.com/site/31te31te/ ... csd.tar.gz

落とせなかったらご連絡ください。
Puppy4.1.2.1-JP(Full/Frugal)
HP dc5100 sf Celeron D 330(改) 2.66GHz/2048MB/40GB
VAIO PCV-L500(改) Pentium III Katmai 550MHz/256MB/30GB
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

rc.shutdown2 by voice

投稿記事 by シノバー »

voiceさん、お疲れさまです。
rc.shutdown2のほうしか試していませんが、
わざと打ち間違えると、ちゃんとやり直します。素晴らしいです。

打ち間違えたときの表示は少し分かりにくかったです。
Try again とあるので、そこにパスワードを打ってみたりしました。
Trying again. Wait a moment...
くらいの表示でどうでしょうか。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

pupsave-0.20090501

投稿記事 by シノバー »

2転3転させて申し訳ないです。
パーティション選択の論理を変更しました。
ディスク上のSFSファイルの存在、すなわちインストールの痕跡を見付け
それがあるときはそのパーティションしか選択肢に含めません。

voiceさんによる rc.shutdown2 を同梱しています。
(rc.shutdown3 および voiceさんの READMEは同梱されていません。)

pupsave-0.20090501pet を同じところに置きました。
http://shino.pos.to/linux/puppy/

次の手順で試してください。

1. あらかじめ pupsave-0.20090501.pet をハードディク上に置いておく
2. CDあるいはディスクからパピーを puppy pfix=ram のブートオプションで起動
3. ディスクをマウントし、さきの petパッケージをクリックしてインストール
4. メニューからシャットダウンまたはリブート

また、端末から
pupsave PUPSFS='sr0,iso9660,/pup_4121JP.sfs'
などとすると、CDから起動したかのごとく動きます。
最後に編集したユーザー シノバー [ 09/05/02(土) 07:16 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
voice
記事: 115
登録日時: 08/11/02(日) 08:27

投稿記事 by voice »

Try it againのタイミングですが自分でやっているときには気づきませんでした、すみません。

直後の

コード: 全て選択

   losetup -d $DEVLOOP
   rm ${SMNTPT}$SAVEFILE
   dd if=/dev/zero of=${SMNTPT}$SAVEFILE bs=1k count=$SIZEPFILE
の処理に時間がかかったんですね。

echo "Try it again." >/dev/consoleの位置を変えることで対応したいと思います。具体的には

コード: 全て選択

   echo "WRONG PASSWORD." >/dev/console
   echo "Try it again." >/dev/console
   losetup -d $DEVLOOP
   rm ${SMNTPT}$SAVEFILE
   dd if=/dev/zero of=${SMNTPT}$SAVEFILE bs=1k count=$SIZEPFILE
   echo "1st" >/dev/console
から

コード: 全て選択

   echo "WRONG PASSWORD." >/dev/console
   losetup -d $DEVLOOP
   rm ${SMNTPT}$SAVEFILE
   dd if=/dev/zero of=${SMNTPT}$SAVEFILE bs=1k count=$SIZEPFILE
   echo "Try it again." >/dev/console
   echo "1st" >/dev/console
への変更です(pupsave-0.20090501版では771行目からです)。

https://sites.google.com/site/31te31te/ ... csd.tar.gz

に置いておきましたが、落とすのが面倒ならば上のとおり手直ししてください。
Puppy4.1.2.1-JP(Full/Frugal)
HP dc5100 sf Celeron D 330(改) 2.66GHz/2048MB/40GB
VAIO PCV-L500(改) Pentium III Katmai 550MHz/256MB/30GB
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

rc.shutdown : パスワードを打ち間違えたときのメッセージ

投稿記事 by シノバー »

なるほど、それで良くなりますね。

でも
WRONG PASSWORD.
と出て、しばらくダンマリなのは不安だと思います。
echo "WRONG PASSWORD." >/dev/console
echo "Refreshing. Wait for a while..." >/dev/console
losetup -d $DEVLOOP
rm ${SMNTPT}$SAVEFILE
dd if=/dev/zero of=${SMNTPT}$SAVEFILE bs=1k count=$SIZEPFILE
echo "Try it again." >/dev/console
echo "1st" >/dev/console
くらいでいかが?
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

rc.shutdown

投稿記事 by シノバー »

losetup -d $DEVLOOP
rm ${SMNTPT}$SAVEFILE
dd if=/dev/zero of=${SMNTPT}$SAVEFILE bs=1k count=$SIZEPFILE

の処理に時間がかかったんですね。
やり直しのさい、いちいちファイルを削除しなくても大丈夫なようです。
その代わり、最終的に保存できなかったときは削除するようにしました。
# diff -ub rc.shutdown2.01 rc.shutdown

コード: 全て選択

--- rc.shutdown2.01	2009-05-01 23:06:12.000000000 +0900
+++ rc.shutdown	2009-05-06 15:56:42.000000000 +0900
@@ -14,6 +14,7 @@
 #v411 bring down network interfaces, as sometimes prevent poweroff.
 # 23 Apr 2009 by Masaki Shinomiya <shino@pos.to> - dialogs can be preset by pupsave script
 # 30 Apr 2009 by voice - check password when xor encrypto (rc.shutdown2)
+# 6 May 2009 - deleting save file when password failed
 
 #v2.20b make shutdown less verbose...
 clear
@@ -762,16 +763,14 @@
    until [ $? -eq 0 ] 
    do
    PSRETRY=`expr $PSRETRY + 1`
+    echo "WRONG PASSWORD." >/dev/console
+    losetup -d $DEVLOOP
    if [ $PSRETRY -ge 4 ];then
+     rm -f ${SMNTPT}$SAVEFILE
    echo "Sorry. Session not saved" >/dev/console
-   echo "$SAVEFILE exists, but it is empty. You may not open the file." >/dev/console
    sleep 5
    break
    fi
-   echo "WRONG PASSWORD." >/dev/console
-   losetup -d $DEVLOOP
-   rm ${SMNTPT}$SAVEFILE
-   dd if=/dev/zero of=${SMNTPT}$SAVEFILE bs=1k count=$SIZEPFILE
    echo "Try it again." >/dev/console
    echo "1st" >/dev/console
    losetup-FULL $CRYPTO $DEVLOOP ${SMNTPT}$SAVEFILE >/dev/console
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

pupsave-0.20090506

投稿記事 by シノバー »

pupsave-0.20090506pet をいつものところに置きました。
http://shino.pos.to/linux/puppy/

上記 rc.shutdown の変更と
pupsaveのほうはメッセージまわりの追加修正だけです。
The bar master, Shino's Bar
http://shinobar.net/
アバター
YoN
Site Admin
記事: 1239
登録日時: 07/04/01(日) 08:00
お住まい: 信州

投稿記事 by YoN »

シノバーさん、ご苦労さまです。
2009-05-06現在の修正ファイルを使って、RCのテスト版ISOを作って見ました。

スプラッシュ画面はとても良いと思います。

個人ファイルの保存プロセスでうまく行かないところがあります。

パーティションは
HDD1
sda1(ntfs)約10GB
sda2(ntfs)約10GB
HDD2
sdb1(ext2)約18GB
の3つです。
pupsave-0.20090506.pet, initrd.gz は initrd-shortname.gz を使っています。

USBメモリ(4GB,ext2)を差し込んだまま
1:RCテスト版ライブCDを使って起動しました --> ドライブアイコンでUSBメモリが表示されません。
一度抜き、再度差し込むと認識されました。

2:初回のシャットダウン/再起動時に
「個人保存の設定0.2009...」ウィンドウで「OK」として機器を検索します。

3:「保存するパーティション」ウィンドウの「確認ください」エリアには sda2(ntfs)1つだけが表示され
sdb1(ext2)パーティションと
sda1(ntfs)パーティション
の2つは表示されません。

個人的に sdb1(ext2)に保存したいのですが sda2(ntfs)にしか保存候補がありません。
そこでこのシャットダウン/再起動のプロセスを「キャンセル」したいのですが、
「保存しない」と「OK」ボタンしかなく、キャンセルできません。

「保存しない」を選択すると個人ファイルが保存されずに終了/再起動してしまいます。
「OK」を選択すると保存したくない sda2 に保存されてしまいます。

何か良い方法はないでしょうか?
それとも私の作ったRCテスト版CDがいけないのでしょうか?

分かりづらい内容ですみません。
[Puppy4.1.2-retro-JP] EPSON Endeavor MT-3500
Celeron 533MHz 256MB
[Lupu-5.0.1 LiveCD + lang_support_ja-1.4.sfs] SOTEC Whitney System CR Board
Celeron 766MHz 512MB
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

投稿記事 by シノバー »

YoNさまこそ、お疲れさまです。
USBメモリ(4GB,ext2)を差し込んだまま
1:RCテスト版ライブCDを使って起動しました --> ドライブアイコンでUSBメモリが表示されません。
一度抜き、再度差し込むと認識されました。
これについてはよく分かりません。イベントマネージャですか、この動きは不可解です。
「保存するパーティション」ウィンドウの「確認ください」エリアには sda2(ntfs)1つだけが表示され
sdb1(ext2)パーティションと
sda1(ntfs)パーティション
の2つは表示されません。
これは仕様です :lol:
sda2にパピーがインストールされてませんか?
でも、USBに保存したいというニーズはありそうですね。考え直します。
そこでこのシャットダウン/再起動のプロセスを「キャンセル」したいのですが、
「保存しない」と「OK」ボタンしかなく、キャンセルできません。
後半で「やり直す」ボタンが出てくるのですが、
どこからでも最初に戻れるようにすべきですね。
The bar master, Shino's Bar
http://shinobar.net/
アバター
YoN
Site Admin
記事: 1239
登録日時: 07/04/01(日) 08:00
お住まい: 信州

投稿記事 by YoN »

シノバーさん、ご苦労さまです。

一晩頭を冷やして再挑戦してみました。

420JPrcテストライブCDから「pfix=ram」で起動して
1:pupsave0423,0428,0501,0506の順に4つをまとめてインストール > 結果はNG
(しかも0506.petだけうまくインストールできずPetgetからファイルを指定してインストールしました。)

そこで改めて、pupsaveXXXX.petを一つづつインストールして見ました。

2:pupsave0423.petだけインストールしてから再起動 > 結果はOKでした(全てのドライブが表示されました)。
3:pupsave0428.petだけインストールしてから再起動 > 結果はOKでした(全てのドライブが表示されました)。
画像
4:pupsave0501.petだけインストールしてから再起動 > 結果はNGでした(1つのドライブだけが表示されます)。
(しかもext2パーティションがマウントされてしまいます)。
画像
どうやら0428から0501への段階で何か問題があるようです。
再度、0428.petだけインストール後、個人ファイルを作ってみました。

結果はちゃんと作成できましたが、「SFSファイルのコピー」で
画像
などとなりました。CDをドライブに差し込んだままにしておくと、CDがマウントされなくて「見つからない」と言われたようです。

そこで手動でマウントして無事、個人保存ファイルが作成できました。
ここにちょっと「ライブCDをドライブに入れてマウントしてください」などの簡単なメッセージがあってもいいかな?と思いました。
これは仕様です
仕様ですか……ちょっと残念な気がします。0428のように保存先のドライブを全て表示できるようにはなりませんか?
sda2にパピーがインストールされてませんか?
sda2にはwindows2000がインストールされています。パピーは入っていません。
[Puppy4.1.2-retro-JP] EPSON Endeavor MT-3500
Celeron 533MHz 256MB
[Lupu-5.0.1 LiveCD + lang_support_ja-1.4.sfs] SOTEC Whitney System CR Board
Celeron 766MHz 512MB
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

パーティション選択の仕様

投稿記事 by シノバー »

お手数掛けます
sda2にはwindows2000がインストールされています。パピーは入っていません。
→ げ :!: バグです :cry:
0428から0501への段階で何か問題があるようです。

→ もちろん仕様を変えたからなんですが、テストが足りませんでした。
CDをドライブに差し込んだままにしておくと、CDがマウントされなくて「見つからない」と言われた
→ 0428の既知のバグです。この問題は0501で解決されました。
0428のように保存先のドライブを全て表示できるようにはなりませんか?
→ 仕様変更はパピーがすでにインストールされている場合に、
他のパーティションに保存するとパピーが立ち上がらないケースがあるので、
それを避けたかったからですが...。それは警告に止めて、
ドライブを全て表示するようにしたいと思います。

今夜の作業になると思います。しばらくお待ちください。
The bar master, Shino's Bar
http://shinobar.net/
返信する