Pluggable Authentication Module システムは、 コンソールからログインしたユーザーに特権を付与するのに使えます。 ディスクをマウントするには、 普通はスーパーユーザーになる必要があるでしょうが、 これはコンソールユーザーが、 フロッピーディスクのようなデバイスをマウントできるようにするのに使います。
PAM の設定ファイル /etc/security/console.perms には <console> 変数があります。 Red Hat Linux 7.1 だと、 <console> は正規表現になっています。
Figure 7-9. console.perms のデフォルト <console> は付属のキーボート・モニターを指している。
<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9] |
このファイルの最後の方で、 <console> ユーザーにいくつかのデバイスを使う許可を与えています。 これには、 ログインとログアウトの際、 デバイスのパーミッションを変更するという方法を用います。
Figure 7-10. console.perms のデフォルトデバイス一覧
<console> 0660 <floppy> 0660 root.floppy <console> 0600 <sound> 0600 root <console> 0600 <cdrom> 0660 root.disk <console> 0600 <pilot> 0660 root.uucp <console> 0600 <jaz> 0660 root.disk <console> 0600 <zip> 0660 root.disk <console> 0600 <ls120> 0660 root.disk <console> 0600 <scanner> 0600 root <console> 0600 <camera> 0600 root <console> 0600 <memstick> 0600 root <console> 0600 <flash> 0600 root <console> 0600 <fb> 0600 root <console> 0600 <kbd> 0600 root <console> 0600 <joystick> 0600 root <console> 0600 <v4l> 0600 root <console> 0700 <gpm> 0700 root <console> 0600 <mainboard> 0600 root <console> 0600 <rio500> 0600 root |
上記でリストされているデバイスには 2 種類のタイプがあります。 付属のモニター・キーボードから接続しているユーザーに必要なデバイスと、 簡単にアクセスできるようにするデバイスです。 Section 1.3 で触れた論理コンソールと物理コンソールの間の区別は、 この設定ファイルではつけられません。 そこで、その区別がつくように設定ファイルを修正します。
Figure 7-11. 付属のキーボード・モニターに必要な console.perms の デバイス
<console> 0600 <fb> 0600 root <console> 0600 <kbd> 0600 root <console> 0600 <joystick> 0600 root <console> 0600 <v4l> 0600 root <console> 0700 <gpm> 0700 root |
残りのデバイスは、 シリアルコンソールから接続しているユーザーだけが制御できるよう、 変更してください。 例えば、場所借りしているサイトにいる権限のないユーザーには、 フロッピーディスクのマウントはさせたくありません。 そこでシリアルコンソール用に新しいコンソールタイプを定義します。 例えば <sconsole> です。
Figure 7-12. console.perms に <sconsole> を追加して、 それがシリアルコンソールを指すようにする。
<sconsole>=ttyS0 |
さあ、残りのエントリを <console> から <sconsole> へ修正しましょう。
Figure 7-13. シリアルコンソールを指すよう変更された console.perms の残りのデバイス
<sconsole> 0660 <floppy> 0660 root.floppy <sconsole> 0600 <sound> 0600 root <sconsole> 0600 <cdrom> 0660 root.disk <sconsole> 0600 <pilot> 0660 root.uucp <sconsole> 0600 <jaz> 0660 root.disk <sconsole> 0600 <zip> 0660 root.disk <sconsole> 0600 <ls120> 0660 root.disk <sconsole> 0600 <scanner> 0600 root <sconsole> 0600 <camera> 0600 root <sconsole> 0600 <memstick> 0600 root <sconsole> 0600 <flash> 0600 root <sconsole> 0600 <mainboard> 0600 root <sconsole> 0600 <rio500> 0600 root |