EN JA
SHADOW(3)
SHADOW(3) FreeBSD Library Functions Manual SHADOW(3)

名前

shadow -暗号化されたパスワードファイル用ルーチン

書式

#include <shadow.h>

struct spwd *getspent();

struct spwd *getspnam(char *name);

void setspent();

void endspent();

struct spwd *fgetspent(FILE *fp);

struct spwd *sgetspent(char *cp);

int putspent(struct spwd *p, FILE *fp);

int lckpwdf();

int ulckpwdf();

説明

shadow は shadow パスワードファイル /etc/shadow の内容を操作するルーチンである。 #include ファイルに与えられている構造体は以下の通り。
 
struct spwd {
 
char *sp_namp; /* user login name */
 
char *sp_pwdp; /* encrypted password */
 
long sp_lstchg; /* last password change */
 
int sp_min; /* days until change allowed. */
 
int sp_max; /* days before change required */
 
int sp_warn; /* days warning for expiration */
 
int sp_inact; /* days before account inactive */
 
int sp_expire; /* date when account expires */
 
int sp_flag; /* reserved for future use */
 

}

各フィールドの意味は:

 

sp_namp -ヌル終端されたユーザ名文字列へのポインタ

 

sp_pwdp -ヌル終端されたパスワード文字列へのポインタ

 

sp_lstchg - 1970年1月1日からパスワード最終変更日時迄の日数

 

sp_min -パスワード変更が出来るようになるまでの日数

 

sp_max -パスワードを変更しなくても良い日数

 

sp_warn -パスワードが期限切れになる前に、期限切れが近づいている旨の警告をユーザに出す期間の日数

 

sp_inact -パスワードが期限切れになってから、アカウントが不能となり使用できなくなるまでの日数

 

sp_expire - 1970年1月1からアカウントが使用不能となる日迄の日数

 

sp_flag -将来使うときに向けて予約

説明

getspent, getspname, fgetspent, sgetspent は、それぞれ struct spwd へのポインタを返す。 getspent はファイルから次のエントリを、 fgetspent は指定されたストリーム (正しい書式のファイルとみなされる) から次のエントリを返す。 sgetspent は入力として与えられた文字列を用いて struct spwd へのポインタを返す。 getspnam はファイル中の現在の位置から name にマッチするエントリを探す。

setspent は shadow パスワードファイルへのアクセスを開始するために、 endspent は終了するために用いられる。

/etc/shadow ファイルに対する排他的なアクセスを保証したい場合には、 lckpwdf ルーチンと ulckpwdf ルーチンを用いる。 lckpwdfpw_lock を用いて最大 15 秒間ロックを取得しようとする。そして最初の 15 秒の残りの間、 spw_lock によって二度目のロックをしようと試み続ける。計 15 秒間の間にいずれかの試みが失敗した場合は、 lckpwdf は -1 を返す。いずれのロックも成功した場合は 0 が返される。

返り値

これらのルーチンは、エントリが残っていない場合や、処理の過程でエラーが発生した場合には NULL を返す。返り値が int であるルーチンは、成功したら 0 を、失敗したら -1 を返す。

警告

shadowされたパスワードファイルへのアクセスは制限されているので、これらのルーチンはスーパーユーザだけが利用できる。

ファイル

/etc/shadow -暗号化されたユーザパスワード

関連項目

getpwent(3), shadow(5)

著者

Julianne Frances Haugh (jockgrrl@ix.netcom.com)