Translation refinements.

Submitted by:	Norihiro Kumagai <kuma@nk.rim.or.jp> via horikawa
This commit is contained in:
Jun Kuriyama 1999-12-21 14:55:30 +00:00
parent 3b82220ce3
commit 014d67ea83
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=6244
10 changed files with 191 additions and 318 deletions

View file

@ -60,11 +60,8 @@
引数
.Fa filedes
は、対象ファイルの記述子です。ファイル記述子は、
書き込みのみ
(O_WRONLY)
、または読み込み / 書き込み両方
(O_RDWR) のどちらかで
操作できる必要があります。引数
書き込みのみ (O_WRONLY)、または読み込み / 書き込み両方
(O_RDWR) のどちらかで操作できる必要があります。引数
.Fa function
は所要動作を定義する制御値です。
.Fa Function
@ -96,7 +93,7 @@
は、ロックまたはロック解除対象のバイト数を示しています。
ロックまたはロック解除対象のセクションは、ファイル上の現在のオフセットを
開始地点とし、前方向であれば正符号の長さで、後ろ方向であれば負の長さで
表します。(現在のオフセット値を除く後続する範囲のバイト数)しかし、
表します。(現在のオフセット値を除く後続する範囲のバイト数) しかし、
ファイルの先頭より前を開始点または対象範囲とすることはできません。
.Fa size
@ -131,14 +128,14 @@
.Pp
.Dv F_ULOCK
要求は、プロセスで制御される複数のロックされた
セクション(全体または一部)を解放します。ロックされたセクションは、現在の
セクション (全体または一部) を解放します。ロックされたセクションは、現在の
ファイル上の地点から
.Fa size
で示す長さのバイト数分、またはサイズ指定が
0 の場合
ファイルの終了位置まで、ロックが解除されます。ロックされたセクション
がすべて解放されないときすなわち、ロック解除される区域の最初の部分または
終りの部分がロックされたセクションにあるとき、セクションの残りの部分は
がすべて解放されないとき (すなわち、ロック解除される区域の最初の部分または
終りの部分がロックされたセクションにあるとき)、セクションの残りの部分は
プロセスにより引き続きロックされます。ロックされたセクションの中心部分を
解放することにより、ロックされた残りの部分は、先頭区域と終りの区域の
2 つの
@ -146,19 +143,13 @@
定めた制限値を越える場合、その要求の処理は不成功になります。
.Pp
.Dv F_ULOCK
要求は、サイズ指定が
0 でなく、要求されたセクションの最終バイト
の位置が、
off_t
型のオブジェクトに対する最大値を越えない場合、または
プロセス内にサイズ
0 のロックがあり、要求対象セクションの最終バイトを
含んでいる場合、サイズ
0 の要求対象セクションの開始位置からロック解除する
要求は、サイズ指定が 0 でなく、要求されたセクションの最終バイトの
位置が、off_t 型のオブジェクトに対する最大値を越えない場合、
またはプロセス内にサイズ 0 のロックがあり、要求対象セクションの最終バイトを
含んでいる場合、サイズ 0 の要求対象セクションの開始位置からロック解除する
要求として扱われます。そうでない場合、
.Dv F_ULOCK
要求は、要求対象のセクション
だけをロック解除しようとします。
要求は、要求対象のセクションだけをロック解除しようとします。
.Pp
ロックされている区域を制御しているプロセスが、他プロセスでロック
されている区域をロックしようとしてスリープ状態になると、デッドロックが
@ -167,12 +158,12 @@ off_t
.Er EDEADLK
エラーで異常終了することを検出できます。
.Pp
.XX lockf ,
.Fn lockf ,
.Xr fcntl 2
および
.Xr flock 2
によるロックは同時併行で問題なく
使用できます。セクションでの防護処理は適当なシグナルで解釈されます。
によるロックは同時併行で問題なく使用できます。
セクションでの防護処理は適当なシグナルで解釈されます。
.Pp
.Sh 戻り値
正常実行の場合、

View file

@ -50,11 +50,10 @@ command line.
.Xr utmp 5
ファイルの適当なスロットへパスされる
.Ar ut
エントリを
記録し (呼び出しプロセスの制御端末に従って)、それを
エントリを記録し (呼び出しプロセスの制御端末に従って)、それを
.Xr wtmp 5
ファイルへ
アペンドします。呼び出しプロセスはどちらのファイルに対しても書き込み権限を
ファイルへアペンドします。
呼び出しプロセスはどちらのファイルに対しても書き込み権限を
持っている必要があります。
.Pp
.Sh 戻り値
@ -68,7 +67,7 @@ command line.
.Pp
.Sh バグ
.Fn login
は未加工なインタフェスを提供します。呼び出し側は、
は未加工なインタフェスを提供します。呼び出し側は、
.Va struct utmp
の構造について認識している必要があります。もう少し抽象化が
必要です。

View file

@ -60,8 +60,7 @@
.Sh 解説
この関数セットは、
.Xr login.conf 5
が提供するログインクラスの認証形式
インターフェスをサポートします。
が提供するログインクラスの認証形式インタフェースをサポートします。
.Pp
.Sh 戻り値
.Pp

View file

@ -36,7 +36,7 @@
.Nm login_getcapbool ,
.Nm login_getstyl
.Nd ログインクラスデータベース
に対するプログラミングインタフェス
に対するプログラミングインタフェ
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <login_cap.h>
@ -71,56 +71,37 @@
これらの関数は
.Xr login.conf 5
に備わっているログインクラスデータベース
に対するプログラミングインターフェスを表します。このデータベースに
収録されているのは、
CAPABILITIES
、属性およびデフォルト環境、ユーザや特殊
ユーザとしての稼動中のプログラムに対する課金上の設定などで、
に対するプログラミングインタフェースを表します。このデータベースに
収録されているのは、CAPABILITIES、属性およびデフォルト環境、
ユーザや特殊ユーザとしての稼動中のプログラムに対する課金上の設定などで、
.Pa /etc/master.passwd
の登録データ内のログインクラスフィールドに
定義されています。
の登録データ内のログインクラスフィールドに定義されています。
.Pp
.Xr login.conf 5
内のレコードは、コロン
.Ql \&:
で分離されるフィールドで
構成されています。各レコードの最初のフィールドはデータベース全体で一意な
レコードのための複数の識別子です。それぞれ
\&'|'
で分離されており、最後尾に
\&'name'
識別子が付いていることもあります。レコードの残りのフィールドは
keyword/data
のペアで構成されます。ロングラインは空のレコード内で
バックスラッシュが後ろにつき、次の連続する行は随時読み
取られるようになっています。このことは、キーワードが
2 つの意味にある文字に
限定されないことを除けば
レコードのための複数の識別子です。それぞれ '|' で分離されており、
最後尾に 'name' 識別子が付いていることもあります。
レコードの残りのフィールドは keyword/data のペアで構成されます。
ロングラインは空のレコード内でバックスラッシュが後ろにつき、
次の連続する行は随時読み取られるようになっています。
このことは、キーワードが 2 つの意味にある文字に限定されないことを除けば
.Xr termcap 5
で使用されている形式と類似しており、
読み易すく改善されている点が利点です。
termcap
レコードの場合と同様に、
tc=<recordid>
で使用されている形式と類似しており、読み易すく改善されている点が利点です。
termcap レコードの場合と同様に、tc=<recordid>
が記述されているフィールドによって複数レコードを相互に
関連させることができます
(レコードが包含関係にあります)。
関連させることができます (レコードが包含関係にあります)。
.Aq Pa recordid
で示されるすべてのレコードは
発生した箇所で
tc=
フィールドにより
で示されるすべてのレコードは発生した箇所で tc= フィールドにより
置きかえられます。
CAPABILITIES
データベースの形式と利用方法に関する
詳細については、
CAPABILITIES データベースの形式と利用方法に関する詳細については、
.Xr getcap 3
を参照してください。
.Pp
.Nm login_cap
インターフェスには、
tc=
参照の拡張により、
インタフェースには、tc= 参照の拡張により、
ログインレコードクラスを取り出す便利な方法が備わっています。
プログラム要求により、
.Fn login_getclass ,
@ -128,11 +109,8 @@ tc=
.Fn login_getuserclass
または
.Fn login_getclassbyname
のうちどれか
1 つを呼び
出して実行します。それぞれの関数はログイン
CAPABILITIES
構造体
のうちどれか 1 つを呼び
出して実行します。それぞれの関数はログイン CAPABILITIES 構造体
.Ft login_cap_t
を戻り値として返し、
API
@ -144,10 +122,7 @@ login_cap_t
の呼び出しを実行して使用していたリソースをすべて解放する
必要があります。
.Pp
login_cap_t
の構造は
login_cap.h
で次のように定義されます。
login_cap_t の構造は login_cap.h で次のように定義されます。
.Bd -literal -offset indent
typedef struct {
char *lc_class;
@ -169,23 +144,17 @@ typedef struct {
を使用したユーザのログインレコード経由で間接的に
要求されたものと必ずしも同じではありません。参照されたユーザに
/etc/master.passwd
で定義されたログインクラスがない場合、クラス名は
NULL
で定義されたログインクラスがない場合、クラス名は NULL
か空ストリングです。
また、定義されたクラスがデータベースに存在しない場合、
各関数は、
\&'default'
という
ID
のレコードを探索し、
各関数は、'default' という ID のレコードを探索し、
.Ar lc_class
フィールドにその
名前を戻り値として取得します。
フィールドにその名前を戻り値として取得します。
.Pp
.Ar lc_cap
フィールドは、ライブラリで内部的に使用され、拡張されたログイン
CAPABILITIES
レコードを保持します。プログラムからの例外要求では、低次の
フィールドは、ライブラリで内部的に使用され、
拡張されたログイン CAPABILITIES レコードを保持します。
プログラムからの例外要求では、低次の
.Fn getcap
方式の関数とともにレコードを直接アクセスしようとしてこれを
使用する傾向があります。
@ -198,77 +167,53 @@ CAPABILITIES
.Pp
前述したように、関数
.Fn get*class
は、
CAPABILITIES
データベースの
マッチングまたはデフォルトレコードのアクセスに使用される
login_cap_t
オブジェクトを戻り値として返します。
は、CAPABILITIES データベースのマッチング
またはデフォルトレコードのアクセスに使用される login_cap_t オブジェクトを
戻り値として返します。
.Fn getclassbyname
2 つの引数を受け
取ります。最初のものは取り出し対象レコードのレコード識別子で、
は 2 つの引数を受け取ります。
最初のものは取り出し対象レコードのレコード識別子で、
2 番めのものは、任意指定のディレクトリ名です。最初の引数
.Ar name
NULL
か、空ストリング、
が NULL か、空ストリング、
あるいは補助的なまたはシステムのログインクラスデータベースに
クラスが存在しない場合、システム
.Em デフォルト
レコードが代わりに
返されてきます。
レコードが代わりに返されてきます。
2 番めの引数
.Ar dir
パラメータが
NULL
のとき、
パラメータが NULL のとき、
システムログインクラスデータベースだけが使用されますが、
NULL
でないときは、
NULL でないときは、
.Xr .login_conf 5
というファイル内で名前付きディレクトリが検索され、中にある
CAPABILITIES
レコードがシステムデフォルトを上書きします。この体系により
ユーザは、
\&'me'
という
ID
のレコードがあるプライベートクラスに対する
クラスレコードを生成して、システムログインクラス・データベースのレコード
CAPABILITIES レコードがシステムデフォルトを上書きします。
この体系によりユーザは、'me' という IDのレコードがある
プライベートクラスに対するクラスレコードを生成して、
システムログインクラス・データベースのレコード
におけるログイン設定値を上書きできます。
Login
のコンテキストでは、次の
2 つの理由により、ユーザが上書きできないオプションがあります。第
1 に、
リソース設定値やデフォルトのプロセス優先順位などの多くのオプションでは、
効果を発揮させるためにルート権限が必要である
こと、第
2 に、
ユーザファイルの他のフィールドは、ログインの初期段階ではセキュリティや
管理上の理由から、十分な検討が行われていません。どの設定がユーザが
Login のコンテキストでは、次の 2 つの理由により、
ユーザが上書きできないオプションがあります。
第 1 に、リソース設定値やデフォルトのプロセス優先順位などの
多くのオプションでは、効果を発揮させるためにルート権限が必要であること、
第 2 に、ユーザファイルの他のフィールドは、
ログインの初期段階ではセキュリティや管理上の理由から、
十分な検討が行われていません。どの設定がユーザが
上書きできるのかについての詳細については、
.Xr login.conf 5
参照してください。実際には、これらは、そうでない場合に常に初期起動
シエルスクリプトで上書きされるユーザのデフォルトログイン環境によって明確に
制限されます。ユーザの
を参照してください。実際には、これらは、そうでない場合に常に
初期起動シエルスクリプトで上書きされるユーザのデフォルトログイン環境に
よって明確に制限されます。ユーザの
.Pa .login_conf
は、ログイン時、シエルが呼ばれる前に
実行される優先ログイン環境設定での簡便な方法をユーザ
に提供します。
実行される優先ログイン環境設定での簡便な方法をユーザに提供します。
.Pp
指定レコードが
NULL
か、空または存在しないとき、さらに不測の事態に
指定レコードが NULL か、空または存在しないとき、さらに不測の事態に
備えてデフォルトレコードがシステムにない場合、メモリアロケーションエラー
になるか、あるいは
.Xr cgetent 3
が何らかの理由によりログイン
CAPABILITIES
データベースにアクセスできなくなり、
NULL
を返してきます。
が何らかの理由によりログイン CAPABILITIES データベースに
アクセスできなくなり、NULL を返してきます。
.Pp
関数
.Fn login_getpwclass ,
@ -278,143 +223,105 @@ NULL
で、ユーザパスワード登録情報に対応するログインクラスレコードの取り出し、
.Fn login_getclassbyname
呼び出しによるクラス名の取り出しができます。
処理が失敗した場合は
NULL
が返されます。これらの関数の間で、
処理が失敗した場合は NULL が返されます。これらの関数の間で、
.Fn login_getuserclass
はユーザによる上書きが可能なユーザホームディレクトリ上の
.login_conf
はユーザによる上書きが可能なユーザホームディレクトリ上の .login_conf
を含んでいますが、
.Fn login_getpwclass
および
.Fn login_getclass
では、それへの参照を
.Pa /etc/login.conf
上のシステムログインクラスに制限している点で
異なります。
上のシステムログインクラスに制限している点で異なります。
.Fn login_getpwclass
.Fn login_getclass
と異なる唯一の点は、
パスワードデータベースでの定義がないときにユーザルートをシステムルート
として認めていることです。他方、パスワードのポインタが
NULL
のとき、または
ユーザレコードにログインクラスがない場合、システムの「デフォルト」登録
レコードの取得が行われます。
と異なる唯一の点は、パスワードデータベースでの定義がないときに
ユーザルートをシステムルートとして認めていることです。
他方、パスワードのポインタが NULL のとき、
またはユーザレコードにログインクラスがない場合、
システムの「デフォルト」登録レコードの取得が行われます。
.Pp
プログラムで
login_cap_t
オブジェクトを使用する必要がなくなると、
プログラムで login_cap_t オブジェクトを使用する必要がなくなると、
.Fn login_close
呼び出しを実行し、ログインクラスで使用していたリソースを
解放します。
呼び出しを実行し、ログインクラスで使用していたリソースを解放します。
.Fn login_close
NULL
ポインタを返しますが、これには
弊害はありません。
は NULL ポインタを返しますが、これには弊害はありません。
.Pp
残りの関数は、個別の権限レコードの取り出しに使用されます。各関数は、
login_cap_t
オブジェクトを第
1 引数とし、
CAPABILITIES
タグ
を第
2 引数とします。残りのパラメータは、
CAPABILITIES
レコードが見つからないときの
デフォルトまたはエラー値を指定します。受け渡しされるパラメータの型は
関連する
CAPABILITIES
のタイプによって変わってきます。たとえば、
ストリング、リスト、時間値、ファイルやメモリサイズ、パス (コロンで
分離されたデイレクトリリストから構成される)、またはバイナリ値フラグ
などです。
login_cap_t オブジェクトを第 1 引数とし、
CAPABILITIES タグを第 2 引数とします。残りのパラメータは、
CAPABILITIES レコードが見つからないときの
デフォルトまたはエラー値を指定します。
受け渡されるパラメータの型は関連する CAPABILITIES のタイプによって
変わってきます。
たとえば、ストリング、リスト、時間値、ファイルやメモリサイズ、
パス (コロンで分離されたデイレクトリリストから構成される)、
またはバイナリ値フラグなどです。
.Pp
このグループのすべての関数では、ポインタを返すとき
.Xr free 3
呼出を使用できないことに注意してください。検索や
CAPABILITIES
タグ処理の間に
割り当てられたメモリは、後続するこのグループの関数呼び出しで自動的に
再利用されるか、または
呼出を使用できないことに注意してください。
検索や CAPABILITIES タグ処理の間に割り当てられたメモリは、
後続するこのグループの関数呼び出しで自動的に再利用されるか、
または
.Fn login_close
呼び出しで解除されます。
.Bl -tag -width "login_gatcaplist()"
.Fn login_getcapstr
この関数は、単純ストリング
CAPABILITIES
を返します。
この関数は、単純ストリング CAPABILITIES を返します。
ストリングが見つからないとき、
.Ar def
内の定義値がデフォルト値として
返されます。エラーが発生したとき、
内の定義値がデフォルト値として返されます。エラーが発生したとき、
.Ar error
パラメータの値が返されます。
.Pp
.It Fn login_getcaplist
本関数は、名前付き
CAPABILITY
タグの値を
NULL
この関数は、名前付き CAPABILITY タグの値を NULL で
終了する配列の値リストとして返します。ログインクラスデータベースには、
リストタイプのタグがあり、複数のカンマまたはスペースで分離した値で
構成されています。通常、この関数は直接アプリケーションから呼び
出されることはなく、
構成されています。通常、この関数は直接アプリケーションから
呼び出されることはなく、
.Fn login_getstyle
経由で間接的に使用されます。
.Pp
.It Fn login_getpath
この関数は、
.Ql &:
で分離されたディレクトリリストを
返します。
この関数の呼出しが実行される
CAPABILITY
タグ
はスペースで分離された
この関数は、コロン
.Ql \&:
で分離されたディレクトリリストを返します。
この関数の呼出しが実行される CAPABILITY タグはスペースで分離された
デイレクトリリストで構成されます。
.Pp
.It Fn login_getcaptime
この関数は、時、分、秒 (デフォルト)、年 (
365 日基準)、週、あるいはこれらの任意の組み合わせで表される値の特殊な
CAPABILITY
タグに関連する時間値を返します。接尾語により使用される単位を
決定します。
S は秒を、M は分を、H は時を、D は日を、W は週を表し、Y は
365 日基準による年を表します。
この関数は、時、分、秒 (デフォルト)、年 (365 日基準)、週、
あるいはこれらの任意の組み合わせで表される値の特殊な
CAPABILITY タグに関連する時間値を返します。
接尾語により使用される単位を決定します。
S は秒を、M は分を、H は時を、D は日を、W は週を表し、
Y は 365 日基準による年を表します。
単位接尾語では大文字、小文字の区別はありません。
.Pp
時間値は、通常はリソースの設定値、課金システム、およびセッション制限値に
使用されます。オペレーティングシステムやコンパイラ (FreeBSD 対応) で
サポートしている場合、戻り値は 2 次元 (long long) の
.Em rlim_t
型になります。値 'inf' または 'infinity' で無限の値を表せます。
その場合
RLIM_INFINITY
戻り値となります。
型になります。値 "inf" または "infinity" で無限の値を表せます。
その場合 RLIM_INFINITY が戻り値となります。
.Pp
.It Fn login_getcapnum
この関数は、タグに関する数値を返します。数値は、
tag=<value> または標準的な
.Fn cgetnum
書式 tag#<value>
で表現されます。
書式 tag#<value> で表現されます。
最初の書式は 2 番目のものより優先的に使用されます。
2 番めの書式は、
.Xr getcap 3
データベースの書式との互換性と整合性があり、数値タイプの場合、
数値のデリミタとして
.Ql \&#
が使われます。最初の書式の場合、指定される値は
\&'inf' または 'infinity' で、戻り値は RLIM_INFINITY
になります。指定された
CAPABILITY
タグを見つけることができない場合、
が使われます。最初の書式の場合、指定される値は "inf"
または "infinity" で、戻り値は RLIM_INFINITY になります。
指定された CAPABILITY タグを見つけることができない場合、
.Ar def
パラメータが返されます。
エラーが起きると、
@ -423,78 +330,60 @@ CAPABILITY
.Pp
.It Fn login_getcapsize
.Fn login_getcapsize
は、サイズ(ファイルまたは
メモリの場合)を表す値を、バイト数(デフォルト)、
512 バイトのブロック数、
KB,
MB,
GB
は、サイズ(ファイルまたはメモリの場合)を表す値を、
バイト数デフォルト、512 バイトのブロック数、
KB,MB,GB
表示で返します。また
.Ar long long
タイプをサポートしているシステム
であれば、
TB
表示もあります。使用されている接尾語により単位、複合値を
タイプをサポートしているシステムであれば、
TB 表示もあります。使用されている接尾語により単位、複合値を
決定し、単位は組み合せた形で使用されます。(例えば、
1m500k = 1.5megabytes) 接尾語がない値 A はバイトを、
B は 512 バイトブロックを、
K は KB を、
M は MB を、
G は GB を、
そして
T
は TB を表します。
大文字と小文字の区別はありません。エラー値が返ってくるのは、ログイン
CAPABILITIES
データベースエラーがあるか、間違った接尾語が使用されているか、
または数値が変換ができない場合です。
K は kilobyte を、
M は megabyte を、
G は gigabyte を、
そして T は terrabyte を表します。
大文字と小文字の区別はありません。エラー値が返ってくるのは、
ログイン CAPABILITIES データベースエラーがあるか、
間違った接尾語が使用されているか、または数値が変換ができない場合です。
.Pp
.It Fn login_getcapbool
この関数は、特定のフラグに関連したバイナリ値を、返します。指定された
CAPABILITY
タグがないか、
\&'tag@'(boolean フラグの詳細については
この関数は、特定のフラグに関連したバイナリ値を返します。
指定された CAPABILITY タグがないか、
"tag@" (boolean フラグの詳細については
.Xr getcap 3
を参照) により無効にされているとき、
0 が返ってきます。タグが見つかれば
1 が返ります。
を参照) により無効にされているとき、0 が返ってきます。
タグが見つかれば 1 が返ります。
.Pp
.It Fn login_getstyle
この関数は、ログイン認可システムで使用され、特定の
ケースで有効なログインの形式を決定します。関数は、
3 つのパラメータと、
ケースで有効なログインの形式を決定します。
関数は、3 つのパラメータと、
.Nm login_cap
登録レコードそのもの、および 2 つの任意指定パラメータ、
\&'auth'
\&'style'
の認可タイプを受け取り、これらを用いてこれらのルールと矛盾しない
認可スタイルを決定します。
登録レコードそのもの、および 2 つの任意指定パラメータ、'auth'
と 'style' の認可タイプを受け取り、
これらを用いてこれらのルールと矛盾しない認可スタイルを決定します。
.Pp
.Bl -bullet -indent offset
.It
\&'auth' が NULL または 空ストリングでなければ、
CAPABILITY
レコードの
\&'auth-<auth>'
タイプのタグの検索を行います。存在しなければ、デフォルトの
デフォルトタグ
\&'auth='
を検索します。
.Ql auth
が NULL または 空ストリングでなければ、CAPABILITY レコードの
"auth-<auth>" タイプのタグの検索を行います。
存在しなければ、デフォルトのデフォルトタグ "auth=" を検索します。
.It
先のステップで正当な認可リストが見つからない場合、
\&'passwd'
先のステップで正当な認可リストが見つからない場合、"passwd"
がデフォルトの認可リストとされます。
.It
\&'style' が NULL でも
空でもないとき、先行ステップで見つかった認可方式の
.Ql style
が NULL でも空でもないとき、先行ステップで見つかった認可方式の
リストからそれを検索します。
.It
\&'style' が NULLか空ストリングのとき、
\&'passwd'
をデフォルトの認可に使用します。
.Ql style
が NULLか空ストリングのとき、"passwd"をデフォルトの認可に使用します。
.It
\&'style' が、認可方式の選択リストに見つかった場合、それを返し、
.Ql style
が、認可方式の選択リストに見つかった場合、それを返し、
そうでないときは NULL を返します。
.El
.Pp
@ -502,7 +391,7 @@ CAPABILITY
認可方式を決定します。たとえば、管理者がネットワークを経由したシステムへの
アクセスに使用された認証方式として、skey または kerberos を要求します。
また、直接のダイアルアップまたはコンソールログイン経由での標準的方式を
要求することもあり、'snooping' ネットワークパケットによりパスワードが
要求することもあり、"snooping" ネットワークパケットによりパスワードが
発見されるリスクを著しく減少させられます。
.El
.Sh 関連項目

View file

@ -43,7 +43,7 @@
.Sh 解説
これらの関数は、ログインクラスデータベース関して
.Xr login_cap 3
のマニュアルに記載されているインタフェスより高次のインタフェスを
のマニュアルに記載されているインタフェスより高次のインタフェスを
提供します。これらの関数が使用されるのは、リソースに関する限界値や、
環境およびシステムにログインするユーザへの課金の設定、およびログインクラス
に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの
@ -61,7 +61,7 @@
.Pp
.Fn setusercontext
は、指定された login_cap_t オブジェクト、
指定された passwd レコード ( login_cap_t が nullの場合)
指定された passwd レコード (login_cap_t が nullの場合)
に基づく、クラスのコンテキストバリューを設定します。
また最新のセッションへのログインや、
最新のプロセスのユーザおよびグループの所有者を設定します。
@ -96,8 +96,9 @@ passwd
NULL 以外の値を指定する必要があります。
.It LOGIN_SETRESOURCES
システムのログインクラスデータベースで定義される
設定値に基づき現在のプロセスのリソースの限界値を設定します。クラス権限タグ
は、-cur (ソフトリミット) または -max (ハードリミット)の接尾語と次に示す
設定値に基づき現在のプロセスのリソースの限界値を設定します。
クラス権限タグは、-cur (ソフトリミット)
または -max (ハードリミット) の接尾語と次に示す
リソース設定子を適切に組み合わせて使用します。
.Bd -literal
cputime RLIMIT_CPU
@ -125,10 +126,9 @@ Priority
umask
.Ed
.It LOGIN_SETPATH
ユーザまたはシステムのログインクラスデータベースに基づく値を
\&'path' および 'manpath'
環境変数に設定します。該当する環境変数
セットとともに使用されるクラス権限タグは次のとおりです。
ユーザまたはシステムのログインクラスデータベースに基づく
値を "path" および "manpath" 環境変数に設定します。
該当する環境変数セットとともに使用されるクラス権限タグは次のとおりです。
.Bd -literal
path PATH
manpath MANPATH
@ -145,7 +145,7 @@ term TERM
.Ed
.Pd
環境変数の追加として、リスト型の
権限設定 'setenv=var1 val1,var2 val2..,varN valN '
権限設定 "setenv=var1 val1,var2 val2..,varN valN "
を使用できます。
.It LOGIN_SETALL
上記の設定をすべて可能にします。
@ -162,10 +162,10 @@ term TERM
.Pp
関数
.Fn setclassresources
および
.Fn setclassenvironment
は、上記コンテキスト設定の関数の
サブセットですが、単独でも使用できます。
は、上記コンテキスト設定の関数のサブセットですが、
単独でも使用できます。
.Sh 戻り値
.Fn setclasscontext
および

View file

@ -52,7 +52,7 @@
.Em ttys.allow
アクセスリストに載っており、
.Em ttys.deny
アクセスリストに載っていないこともチックします。
アクセスリストに載っていないこともチックします。
.Ar tty
デバイス経由でくるログインは、
.Em ttys.allow
@ -61,9 +61,9 @@
.Em ttys.deny
リストが存在しない限り、またはデバイスあるいは
.Ar tty
グループ(
グループ (
.Xr ttys 5
を参照のこと)がリストに載っていなければ、受入れられます。
を参照のこと) がリストに載っていなければ、受入れられます。
.Ar tty
に対するアクセスは、
.Ar tty
@ -77,7 +77,7 @@ ttys
.Dv NULL
または文字列を
.Ar tty parameter
として渡すと、関数はゼロでない数値を返します。
として渡すと、関数は 0 でない数値を返します。
.Pp
.Fn auth_hostok
は、リモートロングインにおけるホスト側の制約をチエック
@ -88,15 +88,16 @@ ttys
のログインクラスの権限レベルに対し、ホスト名や IP アドレス
(具体的には n.n.n.n のようなテキスト形式で指定されます。)
の両方のチエックを行います。
ttys およびそのグループについてと同様、許可、
非許可権限レコード内でワイルドカードや文字
クラスを使用できます。関数
ttys およびそのグループについてと同様、許可、非許可権限レコード内で
ワイルドカードや文字クラスを使用できます。
関数
.Xr fnmatch 3
は対応付けに使用されます。ホスト名の
対応付けは大文字か小文字かによります。この関数ではホスト名が完全形式で
記述 (たとえば、必要ならばローカルドメイン名が追加される) されている
必要があることに注意する必要があります。さらに、IP アドレスは標準的な
形式になっています。ホスト名やアドレス参照は行われません。
は対応付けに使用されます。
ホスト名の対応付けは大文字か小文字かによります。
この関数ではホスト名が完全形式で記述 (たとえば、必要ならば
ローカルドメイン名が追加される) されている必要があることに
注意する必要があります。さらに、IP アドレスは標準的な形式に
なっています。ホスト名やアドレス参照は行われません。
.Pp
この関数の呼び出しは、ホスト名を使用するか、または IP アドレスを
指定せず (例えば
@ -104,9 +105,8 @@ ttys
指定) に実行できます。またマッチングはパラメータが
指定されなければ実行されません。どちらのパラメータについて
.Dv NULL
か空の文字列が渡された場合、ゼロ以外の戻り値が返されます。
か空の文字列が渡された場合、0 以外の戻り値が返されます。
.Pp
関数
.Fn auth_timeok
は、指定の時間値が、ログインクラス
.Em times.allow
@ -124,8 +124,8 @@ ttys
.Xr login_times 3
のマニュアルページを参照してください。
.Sh 戻り値
これらの関数からの戻り値がゼロでない場合、ログインが認可されています。
戻り値がゼロの場合は、対象が
これらの関数からの戻り値が 0 でない場合、ログインが認可されています。
戻り値が 0 の場合は、対象が
.Em allow
アクセスリストにないか
.Em deny

View file

@ -26,7 +26,7 @@
.Nm parse_lt
.Nm in_ltm
.Nm in_ltms
.Nd ログイン時間帯のチエックおよび解析を行う関数
.Nd ログイン時間帯のチェックと解析を行う関数
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <time.h>
@ -48,20 +48,16 @@
.Ar times.deny
権限フィールドで定義された許可、非許可セッション時間の形式は、
1
桁または
2 ,3
桁以上の文字の日付コードを定義する接頭語で構成されます。
1 桁または 2 ,3 桁以上の文字の日付コードを定義する接頭語で構成されます。
ハイフンで分離される 24 時形式の開始、終了時間がそれに続きます。
日付コードは、特定の日付を選択するために接合されるか、または
\&'Any' や 'All'(任意の曜日またはすべての曜日) や、
曜日指定 (土曜日と日曜日を含む) のための 'Wk'、
週末を表す 'Wd'
"Any" や "All"(任意の曜日またはすべての曜日) や、
曜日指定 (土曜日と日曜日を含む) のための "Wk"、週末を表す "Wd"
などの、特殊な表記記号も使用することができます。
.Pp
時間帯はたとえば次のとおりです。
.Dl MoThFrSa1400-2200
これは、月曜日、木曜日、kinn曜日、土曜日の午後 2 時から
これは、月、木、金、土曜日の午後 2 時から
10 時の間と解釈されます。
.Dl Wd0600-1800
これは、土曜日と日曜日の午前 6 時から午後 6 時までの意味です。
@ -110,8 +106,7 @@ typedef struct login_time
.Ar login_time_t
を返した場合、構文解析エラーがあります。
.Pp
残りの関数により、指定された
time_t
残りの関数により、指定された time_t
または特別な時間帯または時間帯の配列に対する構造体 tm をテストできます。
.Fn in_ltm
により、第 2 パラメータとして渡された構造体 tm で指定された時間が第
@ -144,7 +139,7 @@ time_t
.Pp
.Fn in_ltm
は、指定された時間が第一パラメータとして渡された login_time_t
で定義した時間帯内にあれば、ゼロ以外の値を返します。
で定義した時間帯内にあれば、0 以外の値を返します。
.Pp
.Fn in_ltms
は、指定された時間が適合する最初の時間帯のインデックスを

View file

@ -46,13 +46,13 @@ command line.
.Fn login_tty
は、新規ログインセッションの端末を準備します。
.Fn login_tty
に渡されたファイル指示
に渡されたファイル記述
.Ar fd
は端末デバイス上で、読み込みや書き込みが可能である必要があります。
.Xr setsid 2
により新規セッションが割り当てられた後、
呼び出しプロセスの制御デバイスが作られます。この端末デバイスは更に、
呼び出しプロセスでの標準入力や出力、及び標準エラー出力になります。
呼び出しプロセスでの標準入力や標準出力、および標準エラー出力になります。
.Sh 戻り値
.Fn Login_tty
は、呼び出しプロセスの制御デバイス

View file

@ -52,7 +52,7 @@ command line.
ファイルを探索します。スロットがみつからない場合は、
.Em name
及び
hos
.Em host
フィールドが空のレコードで更新され、
タイムスタンプは最新時間に更新されます。
.Sh 戻り値
@ -68,6 +68,6 @@ hos
.Xr wtmp 5
.Sh バグ
.Fn logout
の呼び出しインタフェスは
の呼び出しインタフェスは
.Xr login 3
のインタフェースと整合性がとれていません。

View file

@ -59,7 +59,7 @@ command line.
.Xr wtmp 5
ファイルのホスト名フィールドと合わない場合、最初は、
.Xr gethostbyname 3
により数値のアドレスに変換しようとします。
により数値の IP アドレスに変換しようとします。
これに失敗した場合、ホスト名は
.Qq invalid hostname
(不正ホスト名) として記録されます。