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
から登場しました。