私たちのクラスはついにMintLinuxを私たちのマシンにインストールしています。問題は、コンピューターを使用する2つのクラスに対してウォーゲームをプレイすることを先生が恐れていることです。彼の解決策は、2つの別々のオペレーティングシステムをインストールすることです。そのため、sudo能力が必要になりますが、彼は私たちが他の人のOSを壊すことができるようにしたくありません(ウォーゲームをプレイするか、ミスをすることによって)。彼の解決策は2つの別々のオペレーティングシステムをインストールすることですが、私はいくつかの理由でこのアイデアを嫌います。まず、MBRがあるため、パーティションの数が制限されます。第二に、どちらもMint Linuxであるため、煩わしいだけです。そのため、多くの場合、間違ったものを選択します。 2つのオペレーティングシステムを分離して、一方の人がもう一方のオペレーティングシステムを台無しにできないようにする方法を知っている人はいますか?別々のパーティションでこれを行うことができ、重要性が低いため、ウォーゲームをプレイすることについてはそれほど心配していません。誰かアイデアがありますか?
私は、ユーザーがrootを使用できるようにしながら、ユーザーが持つ能力を制限することを考えていました。ただし、これにより後で問題が発生する可能性があります。もちろん、教師はルートアカウントを管理したいと考えています。
承認された回答:
2つの明白な答えがあります:
- 各ユーザーに独自の仮想マシンイメージを提供します。仮想マシン内では、ユーザーはルートアクセス権を持っています。仮想マシンの外部では、まったくありません。ハードウェアがサポートしている場合は、
kvm
これにはかなりうまくいくでしょう。また、仮想マシンのイメージは単なるファイルであるため、簡単にコピーできます。コピーオンライトストレージを使用すると、懸念がある場合にディスク容量を節約できます。 - Linux 3.8のnewfangled名前空間サポートを使用します。これにより、実際には、マシン上のすべての人が自分の領域にルートを持つことができます。特にrootが必要なものによって異なります。 (実際には、名前空間内で個別のディストリビューション全体を実行できますが、同じカーネルを共有する必要があります)。
個別のパーティション(非常に ルートが混乱しやすい—マウントするだけです)、上記の2つは実際には安全です(まあ、マシンに物理的にアクセスできるので、これらの脆弱性は関係なく適用されます)。
ルート(sudo)アクセスが必要な理由によっては、機能やSELinuxなど、さらに厄介なものもあります。または、もちろん、1つまたは2つのコマンドが必要な場合、sudoには実行できるコマンドを制限するためのサポートが組み込まれています。
関連:Linux – systemdサービスは手動で開始されますが、起動時には開始されませんか?編集: 名前空間の詳細については、操作中の名前空間、パート1:名前空間の概要を参照してください。 、合計6つの部分があります。ネームスペースは、数年前からゆっくりとLinuxに取り入れられてきました。パート5と6は、3.8で追加された最後のパートをカバーしています。これにより、任意のランダムユーザーが自分の名前空間にルートを持つことができます。