スポンサーリンク

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
普通の csh の慣習に従った、空白やコンマで区切られたパス名のリス ト (先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展 開される等)

number
10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で 始まる) の数値型の値。数値型の場合、設定できる値は 1 つだけで す。数値型は文字列型のフォーマットでも指定できる場合があります ( ケーパビリティタグ ’#’ の代わりに ’=’ で値が区切られているな ど)。どの方法が使われた場合でも、データベース中のすべての行は修 正したい行の値を正確に上書きするために、同じ方法を用いなければな りません。

size
サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックス によって別の単位を指定できます。
b
512 バイトブロックの明示的な指定
k
キロバイトの指定 (1024 バイト)
m
1 メガバイトの乗数の指定 (1048576 バイト)
g
ギガバイト単位の指定。そして
t
テラバイトの記述。
サイズの値は数値であり、サフィックスの大文字小文字は重要ではあり ません。連続した値は足し込まれます。

time
時間の期間。デフォルトの単位は秒。プレフィックスによって別の単位 を指定できます。
y
1 年を 365 日で数えた年数の指定
w
週の数の指定
d
日数
h
時間数
m
分数
s
秒数
連続した値は足し込まれます。たとえば 2 時間 40 分は 9600s、160m または 2h40m と表現することができます。

特別な tc=value 表記を使用することにより、通常の約束事であるケーパビリ ティエントリの補間が可能です。

リソース制限

名称 型 注 解説
coredumpsize size コアダンプサイズの最大値制限
cputime time CPU 使用制限
datasize size データサイズの最大値制限
filesize size ファイルサイズの最大値制限
maxproc number プロセス数の最大値制限
memorylocked size コアメモリロック可能量の最大値制限
memoryuse size コアメモリ使用量の最大値制限
openfiles number プロセスごとにオープンできるファイル 数の最大値制限
sbsize size 最大のソケットバッファサイズ
vmemoryuse size プロセスあたりの最大総 VM 使用量
stacksize size スタックサイズの最大値制限

これらのリソース制限エントリは、実際には最大値と現在の制限値の両方を指定 します ( getrlimit(2) を参照してください)。普通は現在の制限値 (ソフトリ ミット) が使われますが、ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが許されています。最大制限値と現在の制限値はケーパビリティ 名に各々 -max 及び -cur を追加することによって指定できます。

環境

名称 型 注 解説
charset string $MM_CHARSET 環境変数の明示的 な設定値
hushlogin bool false ~/.hushlogin ファイルがある場 合と同じ
ignorenologin bool false nologin によってログインを禁 止されません
ftp-chroot bool false FTP 接続を、 chroot(2) を使用 してユーザの HOME ディレクト リへ制限します。詳細は ftpd(8) を参照してください。
label string MAC ポリシの定義。 maclabel(7) 参照
lang string $LANG 環境変数を指定した値に 設定します
manpath path マニュアルページのデフォルト 検索パス
nocheckmail bool false ログイン時にメールのステータ スを表示します
nologin file このファイルが存在する場合、 ファイルの内容が画面に表示さ れ、そのログインセッションは 終了されます
path path /bin /usr/bin デフォルトコマンド検索パス
priority number 優先度 (nice) レベルの初期値
requirehome bool false ログインのために有効なホーム ディレクトリが必要
setenv list コンマで区切られた環境変数と その設定値のリスト
shell prog パスワードファイルで指定され ているシェルより優先して実行 されるセッションシェル。SHELL 環境変数の値は、パスワード ファイルで指定されているもの になります。
term string 他の手段によって決定できない 場合のデフォルトの端末タイプ
timezone string $TZ 環境変数のデフォルト値
umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます
welcome file /etc/motd ウェルカムメッセージが入って いるファイル

認証

名称 型 注 解説
copyright file 追加のコピーライト情報を含んだファイ ル
host.allow list クラス内のユーザがアクセス可能なリ モートホストワイルドカードのリスト
host.deny list クラス内のユーザがアクセス不可なリ モートホストワイルドカードのリスト
login_prompt string login(1) が与えるログインプロンプト
login-backoff number 3 この回数のログイン試行がなされた後、 後続する試行に対してバックオフ遅延が 追加されます。
login-retries number 10 ログイン失敗までに可能な、ログイン試 行回数。
passwd_format string md5 新規パスワードが使用する暗号フォー マット。有効な値は "md5", "des", "blf" です。 NIS クライアントが、 FreeBSD ではない NIS サーバを使用す る場合、おそらく "des" を使用すべき でしょう。
passwd_prompt string login(1) が表示するパスワードプロン プト
times.allow list ログインが許されている時間帯のリスト
times.deny list ログインが許されない時間帯のリスト
ttys.allow list クラス内のユーザがアクセスに使用でき る端末と端末グループのリスト
ttys.deny list クラス内のユーザがアクセスに使用不可 な端末と端末グループのリスト
warnexpire time 失効しそうなアカウントに対する事前の 注意を行なう時間
warnpassword time 失効しそうなパスワードに対する事前の 注意を行なう時間

これらのフィールドは、ログイン認証システムの中で passwd(1) や、その他のプ ログラムから使用される予定です。

環境変数を設定するケーパビリティは、その中の文字 ‘~’ と ‘$’ の両方がス キャンされ、これらはそれぞれユーザのホームディレクトリ及びユーザ名に置換 されます。環境変数中にこれらの文字をそのまま含める場合には、その前にバッ クスラッシュ ’\’ をつけてエスケープします。

host.allowhost.deny エントリはコンマで区切られたリストで、システムへ のリモートアクセスのチェックに使われます。これらはホスト名か IP アドレス またはその両方を含むリストからなり、それらに対してリモートログインの チェックが行われます。このリストの各項目は、ワイルドカード一致用にシェル プログラムが使用しているのと同じ書式のワイルドカードを含むことができます (実装の詳細は fnmatch(3) を参照してください)。ホストのチェックは、リモー トシステムのインターネットアドレスと (もし有効なら) ホスト名の両方をつき あわせて行われます。両方のリストが空かもしくは指定されていない場合、あら ゆるリモートホストからのログインは許可されます。 host.allow が 1 つかそれ 以上のホストを含む場合、リスト中の各項目のどれかにマッチしたリモートシス テムのみがログインを許されます。 host.deny が 1 つかそれ以上のホストを含 む場合、そのリストのどれかにマッチしたホストからのログインが禁止されま す。

times.allowtimes.deny エントリはコンマで区切られた期間のリストであ り、この期間はクラス内のユーザがログインを許されます。これらは 1 つ以上の 日のコード指定と、これに続けて 24 時間表記の開始時刻と終了時刻をハイフン またはダッシュで区切ったものとして表現されます。たとえば MoThSa0200-1300 は、月、木、土の午前 2 時から午後 1 時と解釈されます。これらの時間指定リ ストの両方が空だった場合、クラス内のユーザはいつでもアクセス可能になりま す。 times.allow が指定されている場合、ログインは指定された期間のみ許可さ れます。もし times.deny が指定されている場合、 times.allow の中で期間が指 定されているかどうかに関わらず、指定された期間はログインできなくなりま す。

login(1) が強制することは、これらのエントリにより許可された期間内に実際の ログインが行なわれることのみである点に注意して下さい。セッションの生存期 間に関して更なる規制をかけるには、別のデーモンを用意し、許可されている期 間から許可されていない期間への遷移を監視する必要があります。

ttys.allowttys.deny エントリは、クラス内のユーザがシステムにアクセス するために使うコンマで区切られた (/dev/ プレフィックスを除く) 端末デバイ スと、端末グループ (ttygroup) のリストです (ttygroup の詳細は getttyent(3)ttys(5) を参照して下さい)。どちらのエントリも存在しない場 合、ユーザが使用するログインデバイスの選択には制限はありません。 ttys.allow のみ指定されている場合、ユーザの使えるデバイスは指定されたグ ループまたはデバイスリストのみに制限されます。 ttys.deny のみ指定されてい る場合、ユーザは指定されたデバイスやデバイスグループを使用できません。両 方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow で指定さ れていて、ttys.deny では指定されていないデバイス群のみ使用できます。

minpasswordlen および minpasswordcase の機能は、パスワードの品質制限を強 制するためのものです。 login.conf でサポートされていましたが、現在は pam_passwdqc(8) PAM モジュールにとってかわられました。

予約済ケーパビリティ

下記ケーパビリティは、記述された目的のために予約済であり、サードパーティ ソフトウェアによってサポートされているかもしれません。ベースシステムでは 実装されていません。

名称 型 注 解説
accounted bool false このクラス内の全ユーザのセッション 時間アカウンティングを有効化
autodelete time アカウント失効後自動で削除されるま での時間
bootfull bool false セッション終了時の「ttygroup が一杯 の場合にのみブート」戦略を有効にす る
daytime time 1 日あたりのログイン最大時間
expireperiod time 期限切れまでの割り当て時間
graceexpire time 失効したアカウントの猶予日数
gracetime time 追加された、猶予ログイン許可時間
host.accounted list ログインセッションがアカウントされ るリモートホストワイルドカードのリ スト
host.exempt list ログインセッションのアカウンティン グを免除されたリモートホストワイル ドカードのリスト
idletime time ログアウトまでの最大アイドル時間
minpasswordlen number 6 ローカルパスワード文字列長の最小値
mixpasswordcase bool true すべて小文字のパスワードが入力され た場合、 passwd(1) がユーザに警告し ます
monthtime time 月毎の最大ログイン時間
passwordtime time 次回パスワード無効日を指定するため に passwd(1) が使用
refreshtime time アカウントのリフレッシュ許可時間
refreshperiod str リフレッシュが行なわれる頻度
sessiontime time セッション毎の最大ログイン時間
sessionlimit number すべてのグループに対する tty 上の同 時最大ログイン数
ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト
ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト
warntime time 時間切れになりそうな場合に対する事 前の注意を行なう時間
weektime time 1 週間毎の最大ログイン時間

ttys.accountedttys.exempt フィールドは、先に述べた ttys.allowttys.deny と同じような方法で状態を操作します。 host.accountedhost.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

スポンサーリンク