395 lines
14 KiB
Groff
395 lines
14 KiB
Groff
.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, is permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice immediately at the beginning of the file, without modification,
|
|
.\" this list of conditions, and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. This work was done expressly for inclusion into FreeBSD. Other use
|
|
.\" is permitted provided this notation is included.
|
|
.\" 4. Absolutely no warranty of function or purpose is made by the author
|
|
.\" David Nugent.
|
|
.\" 5. Modifications may be freely made to this file providing the above
|
|
.\" conditions are met.
|
|
.\"
|
|
.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.49 2003/05/05 06:25:03 murray Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd November 22, 1996
|
|
.Dt LOGIN.CONF 5
|
|
.Os
|
|
.Sh 名称
|
|
.Nm login.conf
|
|
.Nd ログインクラス ケーパビリティ データベース
|
|
.Sh 書式
|
|
.Pa /etc/login.conf ,
|
|
.Pa ~/.login_conf
|
|
.Sh 解説
|
|
.Nm
|
|
には、ログインクラスについてのさまざまな属性やケーパビリティが
|
|
含まれています。
|
|
ログインクラス (ユーザアカウントデータベースである
|
|
.Pa /etc/master.passwd
|
|
のそれぞれの行について自由に設定できる注釈) は、セッションの
|
|
アカウンティングやリソース制限、ユーザ環境設定などを決定します。
|
|
ログインクラスはシステム内のさまざまなプログラムから利用され、
|
|
ユーザのログイン環境を設定するほか、
|
|
ポリシー、アカウンティング及び管理上の制限を設定します。
|
|
ログインクラスはまた、
|
|
システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。
|
|
ここに記述した以外の属性は、サードパーティによる packages で利用可能です
|
|
.Pp
|
|
システムのユーザクラスケーパビリティデータベースである
|
|
.Pa /etc/login.conf
|
|
の中の "default" という特別なレコードは、
|
|
.Pa /etc/master.passwd
|
|
内に有効なログインクラスを持たない root 以外のすべてのユーザに
|
|
よって自動的に使われます。有効なログインクラスを持たない uid が 0 の
|
|
ユーザは、"root" レコードが存在する場合はそのレコードが、
|
|
存在しない場合は "default" レコードがログインクラスとして使われます。
|
|
.Pp
|
|
.Fx
|
|
においては、個々のユーザは
|
|
.Pa .login_conf
|
|
というファイルをホームディレクトリに作成することができます。
|
|
このファイルは (/etc/login.conf と) 同じフォーマットで、
|
|
レコード id が "me" である 1 エントリのみで構成されます。
|
|
もし .login.conf が存在するならば、このファイルは
|
|
.Xr login 1
|
|
によって使用され、システムのログインケーパビリティデータベースによって
|
|
指定されたユーザ環境設定を上書き設定します。
|
|
その際、ログインケーパビリティのサブセット、
|
|
典型的には承認やリソース制限そしてアカウンティングを含まないもの
|
|
のみが上書きされます。
|
|
.Pp
|
|
クラスケーパビリティデータベースのレコードは、コロンで区切られた
|
|
いくつかのフィールドから構成されています。
|
|
各レコードの最初のフィールドは、レコードを特定するための
|
|
1 つまたは複数の名前で、それらは '|' 文字で区切られます。
|
|
その最初の名前が、最も一般化された短縮名称です。
|
|
最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した
|
|
長い名前であるべきで、他の名前はその同義語です。
|
|
すべての名前は小文字かつ空白を含まないようにすべきですが、
|
|
最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。
|
|
.Pp
|
|
ケーパビリティデータベースのフォーマットについての詳細な説明は
|
|
.Xr getcap 3
|
|
を参照してください。
|
|
.Sh ケーパビリティ
|
|
データベース内のそれぞれの行に含まれるフィールドは、
|
|
.Xr getcap 3
|
|
の慣習に従い、ブール型、文字列型
|
|
.Ql \&=
|
|
数値型
|
|
.Ql \&#
|
|
があります。
|
|
しかしながら数値データのところは、数値型が拒否され文字列型が
|
|
受け入れられることがあったり、両方の書式が受け入れられることもあります。
|
|
値は次のカテゴリに分類されます。
|
|
.Bl -tag -width "program"
|
|
.It bool
|
|
名前が存在する場合、ブール値は真になります。
|
|
そうでない場合、偽になります。
|
|
.It file
|
|
データファイルへのパス名
|
|
.It program
|
|
実行可能ファイルへのパス名
|
|
.It list
|
|
コンマや空白で区切られた値のリスト (または値の組)
|
|
.It path
|
|
普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト
|
|
(先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等)
|
|
.It number
|
|
10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) の
|
|
数値型の値。数値型の場合、設定できる値は 1 つだけです。
|
|
数値型は文字列型のフォーマットでも指定できる場合があります
|
|
(ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。
|
|
どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を
|
|
正確に上書きするために、同じ方法を用いなければなりません。
|
|
.It size
|
|
サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに
|
|
よって別の単位を指定できます。
|
|
.Bl -tag -offset indent -compact -width xxxx
|
|
.It b
|
|
512 バイトブロックの明示的な指定
|
|
.It k
|
|
キロバイトの指定 (1024 バイト)
|
|
.It m
|
|
1 メガバイトの乗数の指定 (1048576 バイト)
|
|
.It g
|
|
ギガバイト単位の指定。そして
|
|
.It t
|
|
テラバイトの記述。
|
|
.El
|
|
サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。
|
|
連続した値は足し込まれます。
|
|
.It time
|
|
時間の期間。デフォルトの単位は秒。
|
|
プレフィックスによって別の単位を指定できます。
|
|
.Bl -tag -offset indent -compact -width xxxx
|
|
.It y
|
|
1 年を 365 日で数えた年数の指定
|
|
.It w
|
|
週の数の指定
|
|
.It d
|
|
日数
|
|
.It h
|
|
時間数
|
|
.It m
|
|
分数
|
|
.It s
|
|
秒数
|
|
.El
|
|
連続した値は足し込まれます。
|
|
たとえば 2 時間 40 分は 9600s、160m または 2h40m と
|
|
表現することができます。
|
|
.El
|
|
.Pp
|
|
特別な
|
|
.Em tc=value
|
|
表記を使用することにより、通常の約束事であるケーパビリティエントリの
|
|
補間が可能です。
|
|
.Sh リソース制限
|
|
.Bl -column coredumpsize indent indent
|
|
.It Sy "名称 型 注 解説
|
|
.It "coredumpsize size コアダンプサイズの最大値制限
|
|
.It "cputime time CPU 使用制限
|
|
.It "datasize size データサイズの最大値制限
|
|
.It "filesize size ファイルサイズの最大値制限
|
|
.It "maxproc number プロセス数の最大値制限
|
|
.It "memorylocked size コアメモリロック可能量の最大値制限
|
|
.It "memoryuse size コアメモリ使用量の最大値制限
|
|
.It "openfiles number プロセスごとにオープンできるファイル数の最大値制限
|
|
.It "sbsize size 最大のソケットバッファサイズ
|
|
.It "vmemoryuse size プロセスあたりの最大総 VM 使用量
|
|
.It "stacksize size スタックサイズの最大値制限
|
|
.El
|
|
.Pp
|
|
これらのリソース制限エントリは、実際には最大値と現在の
|
|
制限値の両方を指定します (
|
|
.Xr getrlimit 2
|
|
を参照してください)。
|
|
普通は現在の制限値 (ソフトリミット) が使われますが、
|
|
ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが
|
|
許されています。
|
|
最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を
|
|
追加することによって指定できます。
|
|
.Sh 環境
|
|
.Bl -column ignorenologin indent xbinxxusrxbin
|
|
.It Sy "名称 型 注 解説
|
|
.It "charset string $MM_CHARSET 環境変数の明示的な設定値
|
|
.It "hushlogin bool false ~/.hushlogin ファイルがある場合と同じ
|
|
.It "ignorenologin bool false nologin によってログインを禁止されません
|
|
.It "label string MAC ポリシの定義。
|
|
.Xr maclabel 7
|
|
参照
|
|
.It "lang string $LANG 環境変数を指定した値に設定します
|
|
.It "manpath path マニュアルページのデフォルト検索パス
|
|
.It "nocheckmail bool false ログイン時にメールのステータスを表示します
|
|
.It "nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます
|
|
.It "path path /bin /usr/bin デフォルトコマンド検索パス
|
|
.It "priority number 優先度 (nice) レベルの初期値
|
|
.It "requirehome bool false ログインのために有効なホームディレクトリが必要
|
|
.It "setenv list コンマで区切られた環境変数とその設定値のリスト
|
|
.It "shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。
|
|
.It "term string 他の手段によって決定できない場合のデフォルトの端末タイプ
|
|
.It "timezone string $TZ 環境変数のデフォルト値
|
|
.It "umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます
|
|
.It "welcome file /etc/motd ウェルカムメッセージが入っているファイル
|
|
.El
|
|
.Sh 認証
|
|
.Bl -column passwd_prompt indent indent
|
|
.It Sy "名称 型 注 解説
|
|
.\" .It "approve program Program to approve login.
|
|
.It "copyright file 追加のコピーライト情報を含んだファイル
|
|
.It "host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト
|
|
.It "host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト
|
|
.It "login_prompt string
|
|
.Xr login 1
|
|
が与えるログインプロンプト
|
|
.It "login-backoff number 3 この回数のログイン試行がなされた後、
|
|
後続する試行に対してバックオフ遅延が追加されます。
|
|
.It "login-retries number 10 ログイン失敗までに可能な、
|
|
ログイン試行回数。
|
|
.It "passwd_format string md5 新規パスワードが使用する
|
|
暗号フォーマット。
|
|
有効な値は "md5", "des", "blf" です。
|
|
NIS クライアントが、
|
|
.Fx
|
|
ではない NIS サーバを使用する場合、
|
|
おそらく "des" を使用すべきでしょう。
|
|
.It "passwd_prompt string
|
|
.Xr login 1
|
|
が表示するパスワードプロンプト
|
|
.It "times.allow list ログインが許されている時間帯のリスト
|
|
.It "times.deny list ログインが許されない時間帯のリスト
|
|
.It "ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト
|
|
.It "ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト
|
|
.It "warnexpire time 失効しそうなアカウントに対する事前の注意を
|
|
行なう時間
|
|
.It "warnpassword time 失効しそうなパスワードに対する事前の
|
|
注意を行なう時間
|
|
.\".It "widepasswords bool false Use the wide password format. The wide password
|
|
.\" format allows up to 128 significant characters in the password.
|
|
.El
|
|
.Pp
|
|
これらのフィールドは、ログイン認証システムの中で
|
|
.Xr passwd 1
|
|
や、その他のプログラムから使用される予定です。
|
|
.Pp
|
|
環境変数を設定するケーパビリティは、その中の文字
|
|
.Ql \&~
|
|
と
|
|
.Ql \&$
|
|
の両方がスキャンされ、これらはそれぞれ
|
|
ユーザのホームディレクトリ及びユーザ名に置換されます。
|
|
環境変数中にこれらの文字をそのまま含める場合には、
|
|
その前にバックスラッシュ '\\' をつけてエスケープします。
|
|
.Pp
|
|
.Em host.allow
|
|
と
|
|
.Em host.deny
|
|
エントリはコンマで区切られたリストで、システムへのリモートアクセスの
|
|
チェックに使われます。
|
|
これらはホスト名か IP アドレスまたはその両方を含むリストからなり、
|
|
それらに対してリモートログインのチェックが行われます。
|
|
このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと
|
|
同じ書式のワイルドカードを含むことができます
|
|
(実装の詳細は
|
|
.Xr fnmatch 3
|
|
を参照してください)。
|
|
ホストのチェックは、リモートシステムのインターネットアドレス
|
|
と (もし有効なら) ホスト名の両方をつきあわせて行われます。
|
|
両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト
|
|
からのログインは許可されます。
|
|
host.allow が 1 つかそれ以上のホストを含む場合、リスト中の
|
|
各項目のどれかにマッチしたリモートシステムのみがログインを許されます。
|
|
host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに
|
|
マッチしたホストからのログインが禁止されます。
|
|
.Pp
|
|
.Em times.allow
|
|
と
|
|
.Em times.deny
|
|
エントリはコンマで区切られた期間のリストであり、この期間はクラス内の
|
|
ユーザがログインを許されます。
|
|
これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と
|
|
終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。
|
|
たとえば MoThSa0200-1300 は、月、木、土の
|
|
午前 2 時から午後 1 時と解釈されます。
|
|
これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス
|
|
可能になります。
|
|
.Em times.allow
|
|
が指定されている場合、ログインは指定された期間のみ許可されます。
|
|
もし
|
|
.Em times.deny
|
|
が指定されている場合、
|
|
.Em times.allow
|
|
の中で期間が指定されているかどうかに関わらず、指定された期間は
|
|
ログインできなくなります。
|
|
.Pp
|
|
.Xr login 1
|
|
が強制することは、これらのエントリにより許可された期間内に実際の
|
|
ログインが行なわれることのみである点に注意して下さい。
|
|
セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、
|
|
許可されている期間から許可されていない期間への
|
|
遷移を監視する必要があります。
|
|
.Pp
|
|
.Em ttys.allow
|
|
と
|
|
.Em ttys.deny
|
|
エントリは、クラス内のユーザがシステムにアクセスするために使う
|
|
コンマで区切られた (/dev/ プレフィックスを除く) 端末デバイスと、
|
|
端末グループ (ttygroup) のリストです (ttygroup の詳細は
|
|
.Xr getttyent 3
|
|
と
|
|
.Xr ttys 5
|
|
を参照して下さい)。
|
|
どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には
|
|
制限はありません。
|
|
.Em ttys.allow
|
|
のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ
|
|
またはデバイスリストのみに制限されます。
|
|
.Em ttys.deny
|
|
のみ指定されている場合、ユーザは指定されたデバイスやデバイス
|
|
グループを使用できません。
|
|
両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow
|
|
で指定されていて、ttys.deny では指定されていないデバイス群のみ
|
|
使用できます。
|
|
.Pp
|
|
.Em minpasswordlen
|
|
および
|
|
.Em minpasswordcase
|
|
の機能は、パスワードの品質制限を強制するためのものです。
|
|
.Nm
|
|
でサポートされていましたが、現在は
|
|
.Xr pam_passwdqc 8
|
|
PAM モジュールにとってかわられました。
|
|
.Sh 予約済ケーパビリティ
|
|
下記ケーパビリティは、記述された目的のために予約済であり、
|
|
サードパーティソフトウェアによってサポートされているかもしれません。
|
|
ベースシステムでは実装されていません。
|
|
.Bl -column host.accounted indent indent
|
|
.It Sy "名称 型 注 解説
|
|
.It "accounted bool false このクラス内の全ユーザの
|
|
セッション時間アカウンティングを有効化
|
|
.It "autodelete time アカウント失効後自動で削除されるまでの時間
|
|
.It "bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を
|
|
有効にする
|
|
.It "daytime time 1 日あたりのログイン最大時間
|
|
.It "expireperiod time 期限切れまでの割り当て時間
|
|
.It "graceexpire time 失効したアカウントの猶予日数
|
|
.It "gracetime time 追加された、猶予ログイン許可時間
|
|
.It "host.accounted list ログインセッションがアカウントされる
|
|
リモートホストワイルドカードのリスト
|
|
.It "host.exempt list ログインセッションのアカウンティング
|
|
を免除されたリモートホストワイルドカードのリスト
|
|
.It "idletime time ログアウトまでの最大アイドル時間
|
|
.It "minpasswordlen number 6 ローカルパスワード文字列長の最小値
|
|
.It "mixpasswordcase bool true
|
|
すべて小文字のパスワードが入力された場合、
|
|
.Xr passwd 1
|
|
がユーザに警告します
|
|
.It "monthtime time 月毎の最大ログイン時間
|
|
.It "passwordtime time 次回パスワード無効日を指定するために
|
|
.Xr passwd 1
|
|
が使用
|
|
.It "refreshtime time アカウントのリフレッシュ許可時間
|
|
.It "refreshperiod str リフレッシュが行なわれる頻度
|
|
.It "sessiontime time セッション毎の最大ログイン時間
|
|
.It "sessionlimit number すべてのグループに対する tty 上の
|
|
同時最大ログイン数
|
|
.It "ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト
|
|
.It "ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト
|
|
.It "warntime time 時間切れになりそうな場合に対する事前の注意を
|
|
行なう時間
|
|
.It "weektime time 1 週間毎の最大ログイン時間
|
|
.El
|
|
.Pp
|
|
.Em ttys.accounted
|
|
と
|
|
.Em ttys.exempt
|
|
フィールドは、先に述べた
|
|
.Em ttys.allow
|
|
と
|
|
.Em ttys.deny
|
|
と同じような方法で状態を操作します。
|
|
.Em host.accounted
|
|
と
|
|
.Em host.exempt
|
|
のリストも同様です。
|
|
.Sh 関連項目
|
|
.Xr cap_mkdb 1 ,
|
|
.Xr login 1 ,
|
|
.Xr getcap 3 ,
|
|
.Xr getttyent 3 ,
|
|
.Xr login_cap 3 ,
|
|
.Xr login_class 3 ,
|
|
.Xr pam 3 ,
|
|
.Xr passwd 5 ,
|
|
.Xr ttys 5 ,
|
|
.Xr pam_passwdqc 8
|