スポンサーリンク

LOGIN_OK(3) FreeBSD ライブラリ関数マニュアル LOGIN_OK(3)

名称

auth_ttyok, auth_hostok, auth_timeok − ログイン制約に基づくログインクラス のチェック用関数

ライブラリ

システムユーティリティライブラリ (libutil, −lutil)

書式

#include <sys/types.h>
#include <time.h>
#include <login_cap.h>

int

auth_ttyok(login_cap_t *lc, const char *tty);

int

auth_hostok(login_cap_t *lc, const char *host, char const *ip);

int

auth_timeok(login_cap_t *lc, time_t t);

解説

この関数セットは、ログインが、 login.conf(5) というログインデータベース上 のログインクラス登録権限に基づき許可できるかどうかを判定します。

auth_ttyok() は、名前付 tty が指定されたクラスのユーザで利用可能かどうか を判定します。またそれが ttys.allow アクセスリストに載っており、 ttys.deny アクセスリストに載っていないこともチェックします。 tty デバイス 経由でくるログインは、 ttys.allow リストがなく (あるいは指定されたログイ ンクラスの登録権限定義がない) ても、空でない ttys.deny リストが存在しない 限り、またはデバイスあるいは tty グループ( ttys(5) を参照のこと) がリスト に載っていなければ、受入れられます。 tty に対するアクセスは、 tty デバイ ス名で固有の制限と範囲が決められます。またデバイス名はワイルドカード指定 (例えば、ttyD* または cuaD*) を含むか、または group=<name> タグが /etc/ttys に割り振られている場合、ttygroup の名前を定義します。 ttys と ttygroups の一致はケースによります。 NULL または文字列を tty parameter と して渡すと、関数は 0 でない数値を返します。

auth_hostok() は、リモートログインにおけるホスト側の制約をチェックしま す。この関数は、 host.allow および host.deny のログインクラスの権限レベル に対し、ホスト名や IP アドレス (具体的には n.n.n.n のようなテキスト形式で 指定されます。) の両方のチェックを行います。 ttys およびそのグループにつ いてと同様、許可、非許可権限レコード内でワイルドカードや文字クラスを使用 できます。関数 fnmatch(3) は対応付けに使用されます。ホスト名の対応付けは 大文字か小文字かによります。この関数ではホスト名が完全形式で記述 (たとえ ば、必要ならばローカルドメイン名が追加される) されている必要があることに 注意する必要があります。さらに、IP アドレスは標準的な形式になっています。 ホスト名やアドレス参照は行われません。

この関数の呼び出しは、ホスト名を使用するか、または IP アドレスを指定せず (例えば NULL 指定) に実行できます。またマッチングはパラメータが指定されな ければ実行されません。どちらのパラメータについて NULL か空の文字列が渡さ れた場合、0 以外の戻り値が返されます。

関数 auth_timeok() は、指定の時間値が、ログインクラス times.allow の範囲 にあり、 times.deny アクセスリストにないかどうか判定します。 times.allow リストが存在しないか空であれば、指定時間が times.deny リストに示す時間帯 にない限り、いつでもアクセス可能です。 times.allow および times.deny の フィールドに含まれる時間帯レコードの形式の詳細については、 login_times(3) のマニュアルページを参照してください。

戻り値

これらの関数からの戻り値が 0 でない場合、ログインが認可されています。戻り 値が 0 の場合は、対象が allow アクセスリストにないか deny アクセスリスト に載っています。

関連項目

getcap(3), login_cap(3), login_class(3), login_times(3), login.conf(5), termcap(5)

FreeBSD 10.0 January 2, 1997 FreeBSD 10.0

スポンサーリンク