質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

5回答

3509閲覧

Linuxでネットカフェのように環境復元

nishimeno

総合スコア50

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2019/02/01 23:17

インストールされたLinuxマシンについて、
再起動の都度、初期化する方法を探しています。

WindowsではHD革命等のソフトがありますが、
それを、Linuxマシンで実現したいと考えています。

ご教示の程よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

利用するのがデスクトップ機(それなりに内部空間に空きがある)だとして、

  1. Linux の iso イメージをもとにブータブル USB を作成します
  2. USB を「筐体内の USB ピンヘッダ」に付けます(変換コネクタは自作PC店などで手に入ります)
  3. 筐体を不用意に開けられないように鍵をかけるなど保護します
  4. BIOS/UEFI の設定を弄って、USB ブートするようにします

これならなんとかなるかな? メーカー製品の場合 2. が可能な USB ピンヘッダがない可能性もありますが、自作機なら問題はないでしょう。上記の構成なら HDD/SSD も不要ですから多少は安くなります。

サーバーが別に用意できるならネットワークブートにする方がよいかも知れませんが、起動が遅いかな。

投稿2019/02/05 09:11

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

  1. 好みのLiveCDを用意します
  2. HDD上のisoファイルをPCに光学ドライブとして認識させる機能を持つHDDケースを用意します。
  3. ケースには触れないように物理的に保護をします
  4. isoから起動すればOSからはリードオンリーな光学ドライブにしか見えないので、あらゆるデータの書き込みが防がれます

投稿2019/02/02 03:14

編集2019/02/02 03:16
tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

root権限が与えられる(または脆弱性をついて奪われる)ことが前提と言うことでしょうか?CDのようなリードオンリーメディアも使用不可、ネットワークブートもダメ、管理サーバー必須のシンクライアントなんてもってのほかとなるとかなり厳しいです。/をroでマウントなどの工夫をしても、root権限があれば/dev/sda1等を直接操作できてしまうので、通常の方法では無理だからです。

手段としては仮想環境しかないと思います。VirtualBoxやDocker等を使って、その上のゲストしか触らせないとすれば、たとえゲストのrootがいくら奪われようが、ホストに影響を与えることは出来ません(ただし、Dockerはdocker.socket経由でホストのrootを取れる場合がありますので、設定には注意が必要です)。書き込みなどの変更は毎回破棄して、いつも同じイメージを起動することも出来ます。

この方法の問題は「ユーザーにゲストしか触らせない」をどうやって実現するかです。自動ログイン+仮想マシン起動+仮想マシンの画面固定とかまでは出来そうですが、

  • 起動までの間はホストの画面であり、そこにつけいる隙を与える。
  • そもそもゲストしか触れなくなれば、ホストのメンテナンスやゲストイメージの交換すら出来なくなる。

といったところから、たぶん無理です。

ということで、ホストに触らせないという方法は諦めて、ホストはWindowsやMacにして、HD革命、WinKeeper、瞬快、Deep Freeze(これだけMacも可能)等でホストはホストとして同時に守るとしたほうがいいと思います。

なお、実際に、私の所では、

  • ホスト: Windows 10
  • 環境復元ソフト: 瞬快
  • 仮想環境ソフト: VirtualBox
  • ゲスト: Ubuntu

と言う構成のマシンを運用していますが、Ubuntuがめちゃくちゃ遅いと言うことは無かったです。(ただし、ディスクはSSDを使っています。HDDだと遅くて使い物にならない可能性があります。)

投稿2019/02/02 00:43

編集2019/02/02 00:49
raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

やったことはありませんのでアイデアレベルですが

  1. LVMでスナップショットをとって、使い終わったら スナップショットの時点に戻す
  2. /home などを tmpfs で作成して RAM Disk化する

投稿2019/02/05 09:00

take88

総合スコア1377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一般ユーザが使用する前提なら、一般ユーザの書き込み権限があるディレクトリをOS起動時(rc.localなど)に初期化するスクリプトでも書けばいいんじゃないでしょうか

その他で思いつくのは
livecdを作成して毎回cdboot、またnetworkboot(pxeboot)をする
仮想環境を作成し、毎回同じイメージから起動する。
ですかね。

投稿2019/02/01 23:35

編集2019/02/01 23:40
scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nishimeno

2019/02/01 23:45 編集

朝からコメントありがとうございます。 Linuxマシンの用途はネットサーフィンとしております。 LiveCDは、ドライブユニットの負荷を考え採用が難しく、 ネットワークブートも、対抗側のサーバが存在しないため、こちらも難しい状況です。 rc.localの設定により、ウィルス感染時も元に戻せるという認識でよいでしょうか? このスクリプトを検索しましたが、私にはハードルが高いようでした。
scsi

2019/02/02 00:52

Linuxに知見がないのであれば諦めた方がいいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問