web-dev-qa-db-ja.com

別々のオペレーティングシステムをインストールせずに、2つのアカウントを完全に分離しますか?

私たちのクラスはついにMintLinuxを私たちのマシンにインストールしています。問題は、私たちの先生が、コンピューターを使用する2つのクラスに対してウォーゲームをプレイすることを恐れていることです。彼の解決策は、2つの別々のオペレーティングシステムをインストールすることです。そのため、Sudoの能力が必要になりますが、彼は私たちが他の人のOSを壊すことができることを望んでいません(戦争ゲームをプレイするか、間違いを犯すことによって)。彼の解決策は2つの別々のオペレーティングシステムをインストールすることですが、私はいくつかの理由でこのアイデアを嫌います。まず、MBRがあるため、パーティションの数が制限されます。第二に、どちらもMint Linuxであるため、煩わしいだけです。そのため、かなりの時間、間違ったものを選択します。 2つのオペレーティングシステムを分離して、一方の人がもう一方のオペレーティングシステムを台無しにできないようにする方法を知っている人はいますか?別々のパーティションでこれを行うことができ、重要性が低いため、ウォーゲームをプレイすることについてはそれほど心配していません。誰かアイデアはありますか?

私は、ユーザーがrootを使用できるようにしながら、ユーザーが持つ能力を制限することを考えていました。ただし、これにより後で問題が発生する可能性があります。もちろん、教師はルートアカウントを管理したいと考えています。

4
Griffin

2つの明白な答えがあります:

  1. 各ユーザーに独自の仮想マシンイメージを提供します。仮想マシン内では、ユーザーはrootアクセス権を持っています。仮想マシンの外部では、まったくありません。ハードウェアがそれをサポートしている場合、kvmはこれにかなりうまく機能します。また、仮想マシンのイメージは単なるファイルであるため、簡単にコピーできます。コピーオンライトストレージを使用すると、懸念がある場合にディスク容量を節約できます。
  2. Linux 3.8でサポートされているnewfangled名前空間を使用します。これにより、実際には、マシン上のすべてのユーザーが自分の領域にルートを持つことができます。特にあなたがrootを必要とするものに依存します。 (実際には、名前空間内で個別のディストリビューション全体を実行できますが、同じカーネルを共有する必要があります)。

別々のパーティション(ルートが非常に簡単に混乱する-マウントするだけ)とは異なり、上記の2つは実際には安全です(まあ、マシンに物理的にアクセスできるので、脆弱性は関係なく適用されます)。

ルート(Sudo)アクセスが必要な理由によっては、機能やSELinuxなど、さらに厄介なものもあります。または、もちろん、1つまたは2つのコマンドが必要な場合、Sudoには実行できるコマンドを制限するためのサポートが組み込まれています。

edit:名前空間の詳細については、 操作中の名前空間、パート1:名前空間の概要 、合計6つの部分があります。名前空間は、数年前からLinuxにゆっくりと導入されています。パート5とパート6は、3.8で追加された最後のパートをカバーしています。これにより、任意のランダムユーザーが自分の名前空間にルートを持つことができます。

6
derobert

同じOSの2つのバージョンをインストールする代わりに、教師は論理ボリューム上のルートファイルシステムで一度セットアップしてから、その1つのLVの2つの異なるスナップショットから起動するようにgrubをセットアップできます。彼はブートエントリにあなたの名前を入れることができるので、簡単に選択したり、grubにパスワードを設定したり、grubタイムアウトを無効にしたりできます(何かを急いで選択する必要がないように)。彼は、スナップショットにあなたたちがそれを使ってやろうとしていることをカバーするのに十分なスペースがあることを確認する必要があります。

参照されているLVを更新する必要がある場合は、他のエントリの1つでコマンドラインを編集して(パスワードを入力した後)、カーネル引数のroot =をスナップショットではなく実際のLVに変更するだけです。

これは、彼が望んでいることをもう少しリソースを意識した方法で実行しますが、最終的には悪い考えです。

最終的には、LiveCDを使用すると、彼はおそらく風でおしっこをしていることを説明しようと思います。それを実行したい場合は、2つの異なるパーティションにインストールしたり、スナップショットから起動したりしても、正確に変更されるだけです。あなたがそれをするために通過するステップ。

0
Bratchley