dm(8) ダンジョンマスタ

書式

ln -s dm game

解説

はゲームプレイを統制するプログラムです。 ユーザは、プレイしたいゲームの名前で を起動することになります。それには、 /usr/games 中の統制対象となるゲームの名前すべてで へのシンボリックリンクをつくります。 これらのゲームのバイナリ本体は、 ``隠された'' ディレクトリ /usr/games/hide に置かなくてはなりません。 このディレクトリは プログラムのみアクセス可能となっているでしょう。 は要求されたゲームを使用可能か判定し、もし使用可能ならば実行します。 ファイル /etc/dm.conf がどのゲームを実行可能かどうかを制御します。

ファイル /etc/nogames を使用すると、ゲームプレイを ``禁止'' します。 このファイルが存在すると、ゲームプレイを許しません; ゲームをしようとしたユーザに対して、このファイルの内容を表示します。

関連ファイル

/etc/dm.conf
設定ファイル
/etc/nogames
ゲームプレイを禁止
/usr/games/hide
``実際の'' バイナリを保持するディレクトリ
/var/log/games.log
ゲームをログするファイル

バグ

が ``games'' に setuid されたゲームを走らせることで、問題が 2 つ出てきます。 第 1 に、 UNIX コマンドの実行をユーザに許すゲームは、 コマンド実行前に実/実効ユーザ ID 両方を適切に設定しなければならないことです。 おそらくより重要なことは、 を ``games'' 以外に setuid してはならないことです。 これを守っておけば、ゲームを不正に利用されたとしても、 せいぜいユーザが自由にゲームをできるようになるだけです。 第 2 は、それまで setuid させて走らせずに済んでいたゲームで、 ユーザファイルにアクセスするものは、 修正しなければならないかもしれないことです。

歴史

コマンドは BSD 4.3 tahoe から登場しました。