DM(8)

名称
dm - ダンジョンマスタ

書式
ln -s dm game

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

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

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

関連項目
dm.conf(5)

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

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