LOGIN.CONF(5) FreeBSD ファイルフォーマットマニュアル LOGIN.CONF(5)
名称
login.conf − ログインクラス ケーパビリティ データベース |
書式
/etc/login.conf, ~/.login_conf |
解説
login.conf には、ログインクラスについてのさまざまな属性やケーパビリティが 含まれています。ログインクラス (ユーザアカウントデータベースである /etc/master.passwd のそれぞれの行について自由に設定できる注釈) は、セッ ションのアカウンティングやリソース制限、ユーザ環境設定などを決定します。 ログインクラスはシステム内のさまざまなプログラムから利用され、ユーザのロ グイン環境を設定するほか、ポリシ、アカウンティング及び管理上の制限を設定 します。ログインクラスはまた、システムや利用可能な種々の認証機構に対する ユーザ認証手段を提供します。ここに記述した以外の属性は、サードパーティに よる packages で利用可能です システムのユーザクラスケーパビリティデータベースである /etc/login.conf の 中の "default" という特別なレコードは、 /etc/master.passwd 内に有効なログ インクラスを持たない root 以外のすべてのユーザによって自動的に使われま す。有効なログインクラスを持たない uid が 0 のユーザは、"root" レコードが 存在する場合はそのレコードが、存在しない場合は "default" レコードがログイ ンクラスとして使われます。 FreeBSD においては、個々のユーザは .login_conf というファイルをホームディ レクトリに作成することができます。このファイルは (/etc/login.conf と) 同 じフォーマットで、レコード id が "me" である 1 エントリのみで構成されま す。もし .login.conf が存在するならば、このファイルは login(1) によって使 用され、システムのログインケーパビリティデータベースによって指定された ユーザ環境設定を上書き設定します。その際、ログインケーパビリティのサブ セット、典型的には承認やリソース制限そしてアカウンティングを含まないもの のみが上書きされます。 クラスケーパビリティデータベースのレコードは、コロンで区切られたいくつか のフィールドから構成されています。各レコードの最初のフィールドは、レコー ドを特定するための 1 つまたは複数の名前で、それらは ’|’ 文字で区切られま す。その最初の名前が、最も一般化された短縮名称です。最後の名前は、ログイ ンケーパビリティエントリをより分かりやすく説明した長い名前であるべきで、 他の名前はその同義語です。すべての名前は小文字かつ空白を含まないようにす べきですが、最後の名前は可読性を考慮して、大文字やブランクを含んでいても よいでしょう。 ケーパビリティデータベースのフォーマットについての詳細な説明は getcap(3) を参照してください。 |
ケーパビリティ
データベース内のそれぞれの行に含まれるフィールドは、 getcap(3) の慣習に従 い、ブール型、文字列型 ‘=’ 数値型 ‘#’ があります。しかしながら数値データ のところは、数値型が拒否され文字列型が受け入れられることがあったり、両方 の書式が受け入れられることもあります。値は次のカテゴリに分類されます。 |
bool
名前が存在する場合、ブール値は真になります。そうでない場合、偽に なります。 file program list path number size time 特別な tc=value 表記を使用することにより、通常の約束事であるケーパビリ ティエントリの補間が可能です。 リソース制限 |
名称 型 注 解説 これらのリソース制限エントリは、実際には最大値と現在の制限値の両方を指定 します ( getrlimit(2) を参照してください)。普通は現在の制限値 (ソフトリ ミット) が使われますが、ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが許されています。最大制限値と現在の制限値はケーパビリティ 名に各々 -max 及び -cur を追加することによって指定できます。 |
環境
名称 型 注 解説 |
認証
名称 型 注 解説 これらのフィールドは、ログイン認証システムの中で passwd(1) や、その他のプ ログラムから使用される予定です。 環境変数を設定するケーパビリティは、その中の文字 ‘~’ と ‘$’ の両方がス キャンされ、これらはそれぞれユーザのホームディレクトリ及びユーザ名に置換 されます。環境変数中にこれらの文字をそのまま含める場合には、その前にバッ クスラッシュ ’\’ をつけてエスケープします。 host.allow と host.deny エントリはコンマで区切られたリストで、システムへ のリモートアクセスのチェックに使われます。これらはホスト名か IP アドレス またはその両方を含むリストからなり、それらに対してリモートログインの チェックが行われます。このリストの各項目は、ワイルドカード一致用にシェル プログラムが使用しているのと同じ書式のワイルドカードを含むことができます (実装の詳細は fnmatch(3) を参照してください)。ホストのチェックは、リモー トシステムのインターネットアドレスと (もし有効なら) ホスト名の両方をつき あわせて行われます。両方のリストが空かもしくは指定されていない場合、あら ゆるリモートホストからのログインは許可されます。 host.allow が 1 つかそれ 以上のホストを含む場合、リスト中の各項目のどれかにマッチしたリモートシス テムのみがログインを許されます。 host.deny が 1 つかそれ以上のホストを含 む場合、そのリストのどれかにマッチしたホストからのログインが禁止されま す。 times.allow と times.deny エントリはコンマで区切られた期間のリストであ り、この期間はクラス内のユーザがログインを許されます。これらは 1 つ以上の 日のコード指定と、これに続けて 24 時間表記の開始時刻と終了時刻をハイフン またはダッシュで区切ったものとして表現されます。たとえば MoThSa0200-1300 は、月、木、土の午前 2 時から午後 1 時と解釈されます。これらの時間指定リ ストの両方が空だった場合、クラス内のユーザはいつでもアクセス可能になりま す。 times.allow が指定されている場合、ログインは指定された期間のみ許可さ れます。もし times.deny が指定されている場合、 times.allow の中で期間が指 定されているかどうかに関わらず、指定された期間はログインできなくなりま す。 login(1) が強制することは、これらのエントリにより許可された期間内に実際の ログインが行なわれることのみである点に注意して下さい。セッションの生存期 間に関して更なる規制をかけるには、別のデーモンを用意し、許可されている期 間から許可されていない期間への遷移を監視する必要があります。 ttys.allow と ttys.deny エントリは、クラス内のユーザがシステムにアクセス するために使うコンマで区切られた (/dev/ プレフィックスを除く) 端末デバイ スと、端末グループ (ttygroup) のリストです (ttygroup の詳細は getttyent(3) と ttys(5) を参照して下さい)。どちらのエントリも存在しない場 合、ユーザが使用するログインデバイスの選択には制限はありません。 ttys.allow のみ指定されている場合、ユーザの使えるデバイスは指定されたグ ループまたはデバイスリストのみに制限されます。 ttys.deny のみ指定されてい る場合、ユーザは指定されたデバイスやデバイスグループを使用できません。両 方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow で指定さ れていて、ttys.deny では指定されていないデバイス群のみ使用できます。 minpasswordlen および minpasswordcase の機能は、パスワードの品質制限を強 制するためのものです。 login.conf でサポートされていましたが、現在は pam_passwdqc(8) PAM モジュールにとってかわられました。 |
予約済ケーパビリティ
下記ケーパビリティは、記述された目的のために予約済であり、サードパーティ ソフトウェアによってサポートされているかもしれません。ベースシステムでは 実装されていません。 名称 型 注 解説 ttys.accounted と ttys.exempt フィールドは、先に述べた ttys.allow と ttys.deny と同じような方法で状態を操作します。 host.accounted と host.exempt のリストも同様です。 |
関連項目
cap_mkdb(1), login(1), chroot(2), getcap(3), getttyent(3), login_cap(3), login_class(3), pam(3), passwd(5), ttys(5), ftpd(8), pam_passwdqc(8) FreeBSD 10.0 August 6, 2004 FreeBSD 10.0 |