Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

UTMP

Section: File formats (5)
Updated: July 2, 1997
Index Return to Main Contents
 

̾Á°

utmp, wtmp - ¥í¥°¥¤¥óµ­Ï¿  

½ñ¼°

#include <utmp.h>  

ÀâÌÀ

utmp ¥Õ¥¡¥¤¥ë¤ò¸«¤ë¤³¤È¤Ç¡¢¸½ºß郎¥·¥¹¥Æ¥à¤ò»È¤Ã¤Æ¤¤¤ë¤«¤È¤¤¤¦¾ðÊó ¤¬ÆÀ¤é¤ì¤ë¡£¤¿¤À¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤¬utmp¥Õ¥¡¥¤¥ë¤ò ¹¹¿·¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢¼ÂºÝ¤Ë¤Ï¤½¤ì°Ê¾å¤Î¥æ¡¼¥¶¡¼¤¬ ¥·¥¹¥Æ¥à¤ò»È¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¡£

·Ù¹ð:¿¤¯¤Î¥·¥¹¥Æ¥à¥×¥í¥°¥é¥à¤¬¤½¤ÎÀ°¹çÀ­ ¤Ë(¶ò¤«¤Ë¤â)°Í¸¤·¤Æ¤¤¤ë¤Î¤Ç¡¢ utmp ¥Õ¥¡¥¤¥ë ¤Ï½ñ¤­¹þ¤ß²Äǽ¤Ë¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£utmp¥Õ¥¡¥¤¥ë¤ò ÉÔÆÃÄê¤Î¥æ¡¼¥¶¡¼¤«¤é½ñ¤­¹þ¤ß²Äǽ¤Ê¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¤È¡¢ µ¶¤Î¥·¥¹¥Æ¥à¥í¥°¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤È¤«¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤Î ²þ¤¶¤ó¤ò¼õ¤±¤ë¤È¤¤¤Ã¤¿¥ê¥¹¥¯¤ò¤ª¤«¤¹»ö¤Ë¤Ê¤ë¡£

¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë¼¡¤Î ¤è¤¦¤Ê¹½Â¤ÂΤò»ý¤Ä¥¨¥ó¥È¥ê¤Î·«¤êÊÖ¤·¤«¤é¤Ç¤­¤Æ¤¤¤ë¡£ (¤³¤³¤Ëµ­½Ò¤·¤Æ¤¢¤ë¤Î¤Ï´ö¤Ä¤«¤ÎÂç¤Þ¤«¤ÊÄêµÁ¤Î¤ß¤Ç¡¢ ¾ÜºÙ¤Ïlibc¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤êÊѤï¤ë»ö¤ËÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë):



#define UT_UNKNOWN            0
#define RUN_LVL               1
#define BOOT_TIME             2
#define NEW_TIME              3
#define OLD_TIME              4
#define INIT_PROCESS          5
#define LOGIN_PROCESS         6
#define USER_PROCESS          7
#define DEAD_PROCESS          8
#define ACCOUNTING            9

#define UT_LINESIZE           12
#define UT_NAMESIZE           32
#define UT_HOSTSIZE           256

struct exit_status {
  short int e_termination;    /* process termination status.  */
  short int e_exit;           /* process exit status.  */
};

struct utmp {
  short ut_type;              /* type of login */
  pid_t ut_pid;               /* pid of login process */
  char ut_line[UT_LINESIZE];  /* device name of tty - "/dev/" */
  char ut_id[4];              /* init id or abbrev. ttyname */
  char ut_user[UT_NAMESIZE];  /* user name */
  char ut_host[UT_HOSTSIZE];  /* hostname for remote login */
  struct exit_status ut_exit; /* The exit status of a process
                                 marked as DEAD_PROCESS. */
  long ut_session;            /* session ID, used for windowing*/
  struct timeval ut_tv;       /* time entry was made.  */
  int32_t ut_addr_v6[4];      /* IP address of remote host.  */
  char pad[20];               /* Reserved for future use.  */
};

/* Backwards compatibility hacks.  */
#define ut_name ut_user
#ifndef _NO_UT_TIME
#define ut_time ut_tv.tv_sec
#endif
#define ut_xtime ut_tv.tv_sec
#define ut_addr ut_addr_v6[0]

¤³¤Î¹½Â¤ÂΤ«¤é¥æ¡¼¥¶¡¼¤Î»È¤Ã¤Æ¤¤¤ëüËö¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë̾¡¢ ¥æ¡¼¥¶¡¼¤Î¥í¥°¥¤¥ó̾¡¢¤½¤·¤Æ time(2) ¤Î½ñ¼°¤Ç¥í¥°¥¤¥ó¤·¤¿»þ´Ö¤¬¤ï¤«¤ë¡£Ê¸»úÎó¥Õ¥£¡¼¥ë¥É¤Ï¡¢ ¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤è¤êʸ»úÎó¤¬Ã»¤¤¾ì¹ç¤Ë¤Ï¡¢'\0' ¤Ë¤è¤Ã¤Æ½ªÃ¼¤µ¤ì¤ë¡£

ºÇ½é¤Î¥¨¥ó¥È¥ê¤Ïinit(8)¥³¥Þ¥ó¥É¤¬inittab(5)¤ò ½èÍý¤¹¤ë¤³¤È¤Çºî¤é¤ì¤ë¡£¥¨¥ó¥È¥ê¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢init(8) ¤Ï³Æ¥ì¥³¡¼¥É¤Îut_type¤¬DEAD_PROCESS¤Ç¤âRUN_LVL ¤Ç¤â¤Ê¤¯¡¢¤«¤ÄPID¤¬ut_pid¤Ç¤¢¤ë¥×¥í¥»¥¹¤¬¤¤¤Ê¤¤¾ì¹ç¤Ë¡¢ ut_type¤òDEAD_PROCESS¤Ë¡¢ut_user¡¢ ut_host¡¢¤ª¤è¤Óut_time¤ò¥Ì¥ë¥Ð¥¤¥È¤Ç¥¯¥ê¥¢ ¤·¤Æ utmp ¤ò½é´ü²½¤¹¤ë¡£ ɬÍפÊut_id¤ò»ý¤Ä¶õ¤Î¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ init ¤Ï¿·¤·¤¤¥ì¥³¡¼¥É¤òºî¤ë¡£inittab¤«¤éut_id¤ò¡¢ ut_pid ¤ª¤è¤Ó ut_time¤ò¸½ºßÃͤˡ¢¤½¤·¤Æ ut_type¤òINIT_PROCESS¤ËÀßÄꤹ¤ë¡£

getty(8)¤Ïpid¤Ç¥¨¥ó¥È¥ê¤òÆÃÄꤷ¡¢ut_type¤ò LOGIN_PROCESS¤ËÊѹ¹¤·¡¢ut_time¤ò¹¹¿·¤·¡¢ut_line ¤òÀßÄꤹ¤ë¤ÈÀܳ¤¬³ÎΩ¤µ¤ì¤ë¤Î¤òÂԤġ£login(8)¤Ï¥æ¡¼¥¶¡¼Ç§¾Ú¤¬ ½ªÎ»¤¹¤ë¤È¡¢ut_type¤òUSER_PROCESS¤ËÊѹ¹¤·¡¢ut_time ¤ò¹¹¿·¤·¡¢ut_host¤Èut_addr¤òÀßÄꤹ¤ë¡£ getty(8)¤Èlogin(8)¤Ë¤è¤Ã¤Æ¤³¤È¤Ê¤ë¤¬¡¢ ¹¥¤Þ¤·¤¤ut_pid¤ÎÂå¤ï¤ê¤Ëut_line¤ò»È¤¤¥ì¥³¡¼¥É¤Ï ÆÃÄꤵ¤ì¤Æ¤¤¤ë¡£

init(8)¤Ï¥×¥í¥»¥¹¤Î½ªÎ»¤ò¸¡½Ð¤·¤¿¾ì¹ç¡¢ut_pid¤ò»È¤Ã¤Æ utmp¤Î¥¨¥ó¥È¥ê¤òÆÃÄꤷ¡¢ut_type¤ËDEAD_PROCESS¤òÀßÄê ¤·¡¢ut_user¡¢ut_host¤½¤·¤Æut_time¤ò¥Ì¥ë¥Ð¥¤¥È¤Ç ¥¯¥ê¥¢¤¹¤ë¡£

xterm(1)¥³¥Þ¥ó¥É¤ä¾¤ÎüËö¥¨¥ß¥å¥ì¡¼¥¿¤ÏľÀÜUSER_PROCESS ¤Î¥ì¥³¡¼¥É¤òºî¤ê¡¢/dev/ttyp%c¤ÎºÇ¸å¤Î2ʸ»ú¤ò»È¤¦¤«¡¢ /dev/pts/%d¤Îp%d¤ò»È¤Ã¤Æut_id ¤ÎÃͤò¤Ä¤¯¤ê½Ð¤¹¡£ ¤³¤Î id ¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬DEAD_PROCESS¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤ÏºÆÍøÍѤ·¡¢ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï¿·¤·¤¤¥¨¥ó¥È¥ê¤¬ºî¤é¤ì¤ë¡£
  ²Äǽ¤Ê¾ì¹ç¤Ë¤Ï¥×¥í¥»¥¹½ªÎ»»þ¤ËDEAD_PROCESS¤ÈÀßÄꤷ¡¢ ƱÍͤ˥̥ë¥Ð¥¤¥È¤Çut_line¡¢ut_time¡¢ut_user ¤½¤·¤Æut_host¤ò¥¯¥ê¥¢¤¹¤ë¤³¤È¤¬¾©Î夵¤ì¤Æ¤¤¤ë¡£

xdm(8) ¤Ç¤ÏüËö¤¬³ä¤êÅö¤Æ¤é¤ì¤Ê¤¤¤Î¤Ç utmp ¤Î¥ì¥³¡¼¥É¤ò ºî¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£ºî¤ë¤è¤¦¤Ë¤·¤¿¾ì¹ç¼¡¤Î¤è¤¦¤Ê ÌäÂ꤬µ¯¤³¤ë:finger: can not stat /dev/machine.dom¡£ ftpd(8)¥³¥Þ¥ó¥É¤¬¤½¤¦¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢wtmp ¤Î¥¨¥ó¥È¥ê¤ò ºî¤ë¤è¤¦¤Ë¤Ï¤¹¤Ù¤­¤Ç¤¢¤ë¡£

telnetd(8)¤ÏLOGIN_PROCESS¤Î¥¨¥ó¥È¥ê¤òºî¤ë¤È¡¢ »Ä¤ê¤ÏÄ̾ïÄ̤êlogin(8)¤¬¹Ô¤¦¤Î¤Ç¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¡£ telnet ¤Î¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤·¤¿¸å¡¢Á°½Ò¤Î¤è¤¦¤Ë telnetd(8)¤¬ utmp ¤Î¥¨¥ó¥È¥ê¤ò½é´ü²½¤¹¤ë¡£

wtmp ¥Õ¥¡¥¤¥ë¤Ë¤Ï¤¹¤Ù¤Æ¤Î¥í¥°¥¤¥ó¤È¥í¥°¥¢¥¦¥È¤¬ µ­Ï¿¤µ¤ì¤ë¡£¤½¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¥í¥°¥¢¥¦¥È¤·¤¿Ã¼Ëö¤Ç¤Ï¥æ¡¼¥¶¡¼Ì¾ ¤¬¥Ì¥ë¤Ç¤¢¤ë¤³¤È¤ò½ü¤­¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¢¤ë¡£ ¤½¤ì¤Ë²Ã¤¨¡¢¥æ¡¼¥¶¡¼Ì¾¤È¤·¤Æ"shutdown" ¤â¤·¤¯¤Ï "reboot" ¤ò»ý¤Ã¤Æ¤¤¤ëüËö̾"~"¤Ï¥·¥¹¥Æ¥à¤ÎÄä»ß(shutdown)¤Þ¤¿¤ÏºÆµ¯Æ°(reboot) ¤ò°ÕÌ£¤·¤Æ¤¤¤ë¡£¤Þ¤¿¤½¤ÎüËö̾¤¬"|"¤È"}"¤ÎÂФǤ¢¤ë¾ì¹ç¤Ï date(1)¥³¥Þ¥ó¥É¤ÇÊѹ¹¤·¤¿¿·¡¿µì¤Î¥·¥¹¥Æ¥à»þ´Ö¤òµ­Ï¿¤·¤Æ¤¤¤ë¡£ wtmp ¥Õ¥¡¥¤¥ë¤Ïlogin(1)¡¢init(1)¤ä¤¤¤¯¤Ä¤«¤Î ¥Ð¡¼¥¸¥ç¥ó¤Îgetty(1)¤Ë¤è¤ê°Ý»ý¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¤¤¤º¤ì¤â¥Õ¥¡¥¤¥ë¤ò¿·¤¿¤ËºîÀ®¤·¤¿¤ê¤·¤Ê¤¤¤Î¤Ç¡¢ ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë»ö¤Ç¾ðÊó¤Îµ­Ï¿(record-keeping)¤ò»ß¤á¤ë»ö¤¬¤Ç¤­¤ë¡£  

FILES

/var/run/utmp
/var/log/wtmp  

½àµò

Linux ¤Ç¤Îutmp¤Î¥¨¥ó¥È¥ê¤Ï v7/BSD¤äSYSV¤Î¤¤¤º¤ì¤Ë¤â½àµò¤·¤Æ¤¤¤Ê¤¤: ¤½¤ÎξÊý¤¬º®ºß¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£v7/BSD¤Ç¤Ï¤è¤ê¾¯¤·¤Î¹àÌܤ·¤«¤Ê¤¤; ¤â¤Ã¤È¤â½ÅÍפʤ³¤È¤Ï¡¢ut_type¤¬Ìµ¤¤¤³¤È¤Ç¤¢¤ë¡£¤½¤Î¤¿¤á v7/BSD·Ï¤Î¥×¥í¥°¥é¥à¤Ç¤Ï(¤¿¤È¤¨¤Ð)»à¤ó¤À¾õÂ֤Υ¨¥ó¥È¥ê¤ä ¥í¥°¥¤¥ó¾õÂ֤Υ¨¥ó¥È¥ê¤Þ¤Çɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤Ã¤¿¡£ ¤µ¤é¤Ë¥»¥Ã¥·¥ç¥óÍѤΥ¹¥í¥Ã¥È¤ò³ä¤êÅö¤Æ¤ë¤¿¤á¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó ¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¡£BSD¤Ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Î¤Ï ut_id¤¬¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ Linux (SYSV·Ï)¤Ç¤Ï¡¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Ê¤¤¤Ç ¥»¥Ã¥·¥ç¥óÍѤΥ¹¥í¥Ã¥È¤ò³ä¤êÅö¤Æ¤ë¤Î¤Ç¡¢°ìöÀßÄê ¤µ¤ì¤Æ¤·¤Þ¤¦¤È¥ì¥³¡¼¥É¤Îut_id¤Ï·è¤·¤ÆÊѹ¹¤µ¤ì¤Ê¤¤¡£ ut_id¤ò¥¯¥ê¥¢¤¹¤ë¤È¶¥¹ç¾õÂ֤ˤª¤Á¤¤¤ê¡¢utmp¤Î¥¨¥ó¥È¥ê¤ò ²õ¤·¤¿¤ê¡¢ÀøºßŪ¤Ê¥»¥­¥å¥ê¥Æ¥£¥Û¡¼¥ë¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¡£ SYSV¤Ç¤Î¼è¤ê·è¤á¤Ç¤ÏɬÍפȤϤµ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢¾åµ­¹àÌܤò¥Ì¥ë¥Ð¥¤¥È¤Ç ¥¯¥ê¥¢¤·¤Æ¤ª¤¯¤Î¤Ï¡¢BSD¤Ç¤Î¼è¤ê·è¤á¤òÁ°Äó¤È¤·¤Æ¤¤¤Æ¡¢¤«¤Äutmp¤ò ¹¹¿·¤·¤Ê¤¤Â¿¤¯¤Î¥×¥í¥°¥é¥à¤¬Æ°¤¯¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£ Linux¤Ç¤Ï¤³¤³¤Þ¤Çµ­½Ò¤·¤Æ¤­¤¿¤è¤¦¤Ë¡¢¹ÔÆâÍÆ¤Îɽ¼¨¤ÏBSD¤Î´·Îã¤Ë½¾¤Ã¤Æ¤¤¤ë¡£

SYSV¤Ç¤Ïut_type¤òÌܰõ¤Ë¤·¤¿¤ê¡¢¤¿¤È¤¨¤Ð "new time"¤Î¤è¤¦¤Ê ÄÌÃÎ¥á¥Ã¥»¡¼¥¸¤òµ­Ï¿¤¹¤ë¤¿¤á¤Î¤ß¤Ë»È¤Ã¤Æ¤¤¤ë¡£ UT_UNKNOWN¤ÏLinux¤Çºî¤é¤ì¤¿¤â¤Î¤Î¤è¤¦¤Ç¤¢¤ë¡£ ACCOUNTING¤È¤¤¤¦¼ïÎà¤ÏLinux¤Ë¤Ï¸ºß¤·¤Ê¤¤¡£ SYSV¤Ë¤Ïut_host ¤âut_addr_v6¤â¸ºß¤·¤Ê¤¤¡£

¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤³¤È¤Çutmp¤Ø¤Îµ­Ï¿¤ò»ß¤á¤é¤ì¤ë ¾¤ÎÍÍ¡¹¤Ê¥·¥¹¥Æ¥à¤È¤Ï°ã¤¤¡¢Linux¤Ç¤Ïutmp¥Õ¥¡¥¤¥ë¤òɬ¤º¤ª¤¤¤Æ ¤ª¤¯É¬Íפ¬¤¢¤ë¡£ who(1)¥³¥Þ¥ó¥É¤¬µ¡Ç½¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ utmp¥Õ¥¡¥¤¥ë¤ÎÁ´¥æ¡¼¥¶¡¼¤ËÂФ¹¤ëÆÉ¤ß¼è¤êµö²Ä¤òÀßÄꤷ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£

utmp¹½Â¤ÂΤÏlibc5¤«¤élibc6¤ÇÊѹ¹¤µ¤ì¤¿¡£¤½¤Î¤¿¤áÀΤÎlibc5¤Î¹½Â¤ÂÎ ¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤Ï /var/run/utmp ¤ä /var/log/wtmp¥Õ¥¡¥¤¥ë¤ò²õ¤·¤Æ¤·¤Þ¤¦¡£ Debian ¥·¥¹¥Æ¥à¤Ç¤Ï¿·¤·¤¤utmp¥Õ¥©¡¼¥Þ¥Ã¥È¤ò°·¤¨¤ë¤è¤¦¤Ë½¤Àµ ¤µ¤ì¤¿libc5¤ò´Þ¤ó¤Ç¤¤¤ë¡£¤¿¤À¤·libc5¤«¤éľÀÜ¥¢¥¯¥»¥¹¤·¤Æ ¤¤¤ë¤¿¤á¡¢wtmp¤Ç¤ÎÌäÂ꤬¤Þ¤À»Ä¤Ã¤Æ¤¤¤ë¡£  

À©¸Â

¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¥Þ¥·¥ó¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤¬ºî¤é¤ì¤¿ ¥Þ¥·¥ó¤â¤·¤¯¤ÏƱ°ì¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥Þ¥·¥ó¾å¤Ç¤Î¤ß½èÍý¤¹¤ë»ö¤ò´«¤á¤ë¡£  

BUGS

¤³¤Î¥Þ¥ó¥Ú¡¼¥¸¤Ï libc5 ¤Ë´ð¤Å¤¤¤Æºî¤é¤ì¤Æ¤¤¤Æ¡¢ºÇ¿·¤Î¤â¤Î¤Ç¤Ï °ã¤Ã¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£  

´ØÏ¢¹àÌÜ

ac(1), date(1), getutent(3), init(8), last(1), login(1), updwtmp(3), who(1)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
FILES
½àµò
À©¸Â
BUGS
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man5". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.