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