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
  ルーチンを用いる。
  
lckpwdf は 
pw_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)