第 24章コンソールのアクセス

root以外の一般ユーザーがコンピュータにローカルからログインすると、2種類の特殊な権限が与えられます。

  1. ユーザーは、他では実行できないような特定のプログラムを実行できます。

  2. ユーザーは、他ではアクセスできないような特定のファイル(通常はディスケット、CD-ROMなどへのアクセスに使用される特別なデバイスファイル)にアクセスできます。

1つのコンピュータ上に複数のコンソールがある状態では、複数のユーザーが同時にローカルからコンピュータにログインできるため、ユーザーのうちの1人がファイルにアクセスする競争に「勝つ」必要があります。最初にコンソールにログインするユーザーがファイルの所有権を取得します。最初のユーザーがログアウトすると、ファイルはログインしている次のユーザーの権利となります。

逆に、コンソールからログインしているすべてのユーザーは、通常rootユーザーに制限されているタスクを行うプログラムを実行できます。Xが動作している場合、これらのアクションはグラフィカルユーザーインターフェイスのメニュー項目として取り込むことができます。コンソールからアクセスできるプログラムには、haltpoweroffrebootなどがあります。

24.1. Ctrl-Alt-Delキーを使ったシャットダウンの無効化

デフォルトでは、/etc/inittabによって、コンソールで[Ctrl]-[Alt]-[Del]キーの組み合わせを使用した場合にシステムのシャットダウンとリブートを行うよう指定されています。この機能を完全に無効にするには、/etc/inittabの次の行の先頭にシャープ記号(#)を付けてコメントアウトします:

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

あるいは、[Ctrl]-[Alt]-[Del]キーを使用してコンソールからシステムをシャットダウンする権利だけをrootでないユーザーに許可したい場合もあります。次の手順で、この権限を特定のユーザーに制限できます。

  1. 上に示した/etc/inittab行に-aオプションを追加すると、次のように表示されます。

    ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now

    -aフラグは、次の手順で作成する/etc/shutdown.allowファイルを探すようにshutdownに指示します。

  2. /etcshutdown.allowというファイルを作ります。shutdown.allowファイルは、 [Ctrl]-[Alt]-[Del]キーを使ってシステムをシャットダウンすることが 許されているユーザーの一覧です。/etc/shutdown.allowファイルのフォーマットは、次のようなユーザー名(1行に1名ずつ)の リストです:

    stephen
    jack
    sophie

このshutdown.allowファイルの例では、stephen、jack、sophieは[Ctrl]-[Alt]-[Del]キーを使ってコンソールからシステムをシャットダウンすることが許可されています。このキーコンビネーションを使用すると、/etc/shutdown.allow内のユーザー(またはroot)が仮想コンソールにログインされているかどうかが/etc/inittabshutdown -aで確認されます。ユーザーの誰かがログインしている場合は、システムのシャットダウンが続きます。ログインされていなければ、その代わりにシステムコンソールにエラーメッセージが書き込まれます。

shutdown.allowの詳細については、shutdownのmanページを参照してください。