UTMP

Section: ÆÄÀÏ Æ÷¸Ë (5)
Updated: 1997³â 7¿ù 2ÀÏ
Index
Return to Main Contents
 

À̸§

utmp, wtmp - ·Î±×ÀÎ ·¹ÄÚµå.  

»ç¿ë¹ý

#include <utmp.h>  

¼³¸í

utmp ÆÄÀÏÀº ÇöÀç ´©°¡ ½Ã½ºÅÛÀ» »ç¿ëÇÏ°í ÀÖ´ÂÁö¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù. ¸ðµç ÇÁ·Î±×·¥ÀÌ utmp ·Î±×¸¦ »ç¿ëÇÏ´Â °ÍÀº ¾Æ´Ï±â ¶§¹®¿¡, ÇöÀç ´õ ¸¹Àº »ç¿ëÀÚ°¡ ÀÖÀ» ¼ö ÀÖ´Ù.

Warning: utmp ´Â ¾²±â°¡ °¡´ÉÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ¸¹Àº ÇÁ·Î±×·¥ µéÀÌ (¾î¸®¼®°Ôµµ) ÀÌ°ÍÀÇ ¿ÏÀüÇϸ®¶ó »ý°¢Çϱ⠶§¹®ÀÌ´Ù. utmp ¸¦ ¾²±â°¡´É »óÅ·ΠµÎ¸é, °¡Â¥ ½Ã½ºÅÛ ·Î±×ÆÄÀÏÀÌ »ý±æ ¼öµµ ÀÖ°í, ½Ã½ºÅÛ ÆÄÀÏÀÌ º¯°æ µÉ ¼öµµ ÀÖ´Ù.

ÀÌ ÆÄÀÏÀº ¾È¿¡ Æ÷ÇÔµÈ ÆÄÀÏ¿¡ ¼±¾ðµÈ ±¸Á¶¿¡ µû¸¥ ¿£Æ®¸®ÀÇ ½ÃÄö½ºÀÌ´Ù. (ÀÌ°ÍÀº ¿©·¯ Á¤ÀÇ Áß ÇϳªÀÓÀ» ¸í½ÉÇÏÀÚ; ÀÚ¼¼ÇÑ °ÍÀº libcÀÇ ¹öÀü¿¡ µû¶ó ´Ù¸£´Ù.):



#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'·Î ³¡³­´Ù.

ù¹ø° ¿£Æ®¸®´Â Ç×»ó inittab(5)¸¦ ½ÇÇàÇÏ´Â init(8)·Î ÀÎÇÑ °á°ú¸¦ »ý¼ºÇÑ´Ù. ¿£Æ®¸®°¡ ½ÇÇàµÇ±â Àü¿¡, init(8)´Â ut_type¸¦ DEAD_PROCESS·Î ¼³Á¤ÇÏ°í, ut_type´Â DEAD_PROCESS³ª RUN_LVL°¡ ¾Æ´Ï°í, PID ut_pid·Î ½ÇÇàÇÏ´Â °ÍÀÌ ¾ø´Â °¢°¢ÀÇ ±â·ÏÀ» À§ÇØ,ut_user, ut_host, ut_timeÀ» null ¹ÙÀÌÆ®·Î Áö¿òÀ¸·Î½á utmp¸¦ Áö¿î´Ù. ÇÊ¿äÇÑ ut_id ¿¡ ºó ±â·ÏÀ» ãÀ» ¼ö ¾ø´Ù¸é, init´Â »õ·Î¿î °ÍÀ» ¸¸µç´Ù. ÀÌ°ÍÀº inittab, ut_pid, ut_time·ÎºÎÅÍ ut_idÀ» ÇöÁ¦ °ªÀ¸·Î, 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)´Â ÇÁ·Î¼¼½º°¡ Á¾·áµÈ °ÍÀ» ¹ß°ßÇϸé, utmp Ç׸ñÀ» ut_pid ¿·¿¡ À§Ä¡½ÃÅ°°í, ut_type¸¦ READ_PROCESSÀ¸·Î ¼³Á¤Çϸç, ut_user, ut_host ±×¸®°í ut_time¸¦ null ¹ÙÀÌÆ®·Î ¼Ò°ÅÇÑ´Ù. xterm(1)¿Í ´Ù¸¥ Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ´Â USER_PROCESS ±â·ÏÀ» ¸¸µé°í, /dev/ttyp%cÀÇ ¸¶Áö¸· µÎ¹®ÀÚ¸¦ »ç¿ëÇϰųª, /dev/pts/%d¿¡ ´ëÇÑ p%d¸¦ »ç¿ëÇÔÀ¸·Î¼­, ut_id¸¦ »ý¼º½ÃŲ´Ù. ¸¸ÀÏ À̵éÀÌ ÀÌ ID¿¡ ´ëÇÑ
 DEAD_PROCESS¸¦ ¹ß°ßÇÑ´Ù¸é, ±×µéÀº À̸¦ Àç»ç¿ëÇÒ °ÍÀÌ°í, ±×·¸Áö ¾ÊÀ¸¸é, »õ·Î¿î ¿£Æ®¸®¸¦ ¸¸µç´Ù. ¸¸ÀÏ ¹ß°ßÇÒ ¼ö ÀÖ´Ù¸é, ±× ¾ÆÀ̵𸦠DEAD_PROCESS·Î¼­ Ç¥±âÇÏ°í, À̵éÀº ¶ÇÇÑ ut_line, ut_time, ut_user ±×¸®°í ut_host·Î null ó¸®ÇÑ´Ù.

ÇÒ´çµÈ Å͹̳ÎÀÌ ¾øÀ¸¸é, xdm(8)´Â utmp ±â·ÏÀ» ¸¸µé¾î¼­´Â ¾ÈµÈ´Ù. À̸¦ Çϳª ¸¸µéµµ·Ï Çã¿ëÇÏ´Â °ÍÀº ´ÙÀ½°ú °°Àº ¹®Á¦µéÀÇ ¿øÀÎÀÌ µÈ´Ù. ÇΰÅ(finger), /dev/machine.domÀ» ½ÃÀÛÇÒ ¼ö ¾ø´Ù. ±×·¯³ª, ftpd(8)°¡ ÇÏ´Â °Íó·³ wtmp ¿£Æ®¸®¸¦ ¸¸µé¾î¾ß ÇÑ´Ù.

telnetd(8)Àº LOGIN_PROCESS ¿£Æ®¸®¸¦ ¼³Á¤ÇÏ°í, login(8) ³ª¸ÓÁö ºÎºÐÀº º¸Åë°ú °°ÀÌ ³²°ÜµÐ´Ù. ÅÚ³Ý ¼¼¼ÇÀÌ ³¡³­ÈÄ, telnetd(8)´Â utmp´Â ¼³¸íÇÑ ¹æ½ÄÀ¸·Î ¼Ò°ÅÇÑ´Ù. wtmp ÆÄÀÏÀº ¸ðµç ·Î±×Àΰú ·Î±×¾Æ¿ôÀ» ±â·ÏÇÑ´Ù. ÀÌ ÆÄÀÏÀÇ Æ÷¸ËÀº ³Î »ç¿ëÀÚ À̸§ÀÌ °ü·ÃµÈ Å͹̳ο¡¼­ ·Î±×¾Æ¿ôÀ» °¡¸®Å°´Â °ÍÀ» Á¦¿ÜÇÏ°í´Â °ÅÀÇ utmp°ú ºñ½ÁÇÏ´Ù. ´õ¿íÀÌ, »ç¿ëÀÚ À̸§ "shutdown" ȤÀº "reboot"À» Áö´Ñ Å͹̳ΠÀ̸§ "~"Àº ½Ã½ºÅÛ
 ¼Ë´Ù¿î È¤Àº ¸®ºÎÆ®¸¦ °¡¸®Å°°í,  Å͹̳ΠÀ̸§½Ö "|"/"}"Àº  date(1)ÀÌ À̸¦  º¯°æ½Ãų ¶§, ¿À·¡µÈ/»õ·Î¿î ½Ã½ºÅÛÀ» ·Î±×·Î ±â·ÏÇÑ´Ù. wtmpÀº login(1), init(1), WfIgetty(1)ÀÇ ÀϺΠ¹öÀü¿¡ ÀÇÇØ À¯ÁöµÈ´Ù. ÀÌ·¯ÇÑ ÇÁ·Î±×·¥µéÁß Çϳªµµ ÆÄÀÏÀ» ¸¸µéÁö ¸øÇϹǷÎ, ¸¸ÀÏ »èÁ¦µÇ¸é, ±â·Ï À¯Áö´Â µÇÁö ¾Ê´Â´Ù.  

ÆÄÀÏ

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

ȣȯ

¸®´ª½º utmp ¿£Æ®¸®´Â v7/BSD À̳ª SYSVµµ µû¸£Áö ¾Ê´Â´Ù. À̵éÀº ¾ÕÀÇ µÎ°¡ÁöÀÇ È¥ÇÕÀÌ´Ù. v7/BSD´Â ´õÀûÀº Çʵ带 °®°í ÀÖÀ¸¸ç, °¡Àå Áß¿äÇÑ °ÍÀº Á×Àº ¿£Æ®¸®³ª ·Î±×ÀÎ ¿£Æ®¸®¸¦ º¸¿©ÁÖµµ·Ï ÇÏ´Â v7/BSD À¯»ç ÇÁ·Î±×·¥µéÀÌ ºÎÁ·Çϴٴµ¥ ÀÖ´Ù. ´õ¿ì±â, ¼¼¼Ç¿¡ ½½·ÔÀ» ÇÒ´çÇÒ ¼³Á¤ÆÄÀÏÀÌ ¾ø´Ù. ut_id Çʵ尡 ¾ø±â ¶§¹®¿¡, BSD´Â ¿ª½Ã ±×·¯ÇÏ´Ù. ¸®´ª½º¿¡¼­, ut_id ÇÊµå ±â·ÏÀº ÀÏ´Ü ¼³Á¤µÇ¸é Àý´ë º¯°æµÇÁö ¾Ê´Â´Ù. Áï, ÀÏ´Ü ¼³Á¤ µÇ¸é, ¼³Á¤ ÆÄÀÏÀÌ ÇÊ¿ä¾øÀÌ, ±× ½½·ÔÀ» ³²°ÜµÐ´Ù. ut_id ¸¦ ¼Ò°ÅÇϸé, ºØ±«µÈ utmp ¿£Æ®¸®µé°ú ÀáÀçÀûÀÎ º¸¾È ±¸¸ÛµéÀ» ÃÊ·¡ÇÒ ¼ö ÀÖ´Â »óŸ¦ ¸¸µç´Ù. À§¿¡ ¾ð±ÞÇß´ø ÇʵåµéÀ» null ¹ÙÀÌÆ®·Î ä¿òÀ¸·Î¼­ ¼Ò°ÅÇÏ´Â °ÍÀº SYSV¿¡¼­´Â ¿ä±¸µÇÁö ¾ÊÁö¸¸, ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ½ÇÇàµÇµµ·Ï Çã¿ëÇÑ´Ù. ¸®´ª½º´Â ÇàÀÇ ³»¿ë¿¡ ÀÖ¾î, BSD ÀüÅëÀ» »ç¿ëÇÑ´Ù.

SYSV´Â À̵éÀ» Ç¥½ÃÇϱâ À§ÇØ ¿ÀÁ÷ À¯Çü Çʵ带 »ç¿ëÇÏ°í, Çà Çʵ峻¿¡ "new time"¿Í °°Àº Á¤º¸¼º ¸Þ½ÃÁöµéÀ» ±â·ÏÇÑ´Ù. UT_UNKNOWN´Â ¸®´ª½º¿¡¼­¸¸ º¼ ¼ö ÀÖ´Â °Í °°´Ù.

ÀÌ ÆÄÀÏÀ»»èÁ¦ÇÔÀ¸·Î¼­ utmp ·Î±ëÀÌ º¸ÀÌ´Â ´Ù¾çÇÑ ´Ù¸¥ ½Ã½ºÅÛµé°ú´Â ´Þ¸®, utmp´Â ¸®´ª½º »ó¿¡¼­ Ç×»ó Á¸ÀçÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ who(1)ÀÇ ±â´ÉÀ» Á¤Áö½ÃÅ°¸é, utmp ¿µ¿ªÀÌ ÀÐÇôÁöÁö ¾Êµµ·Ï ÇØ¾ß ÇÑ´Ù.

libc5¿¡¼­ utmp ±¸Á¶Ã¼´Â libc6³»¿¡¼­ º¯°æµÇ¾ú´Ù´Â °ÍÀ» ÂüÁ¶Ç϶ó. ÀÌ ¶§¹®¿¡, ÀÌÀüÀÇ libc5 ±¸Á¶Ã¼¸¦ »ç¿ëÇÏ´Â ¹ÙÀ̳ʸ®µéÀº .IR /var/run/utmp °ú /var/log/wtmp¸¦ ºØ±«½ÃŲ´Ù. µ¥ºñ¾È ½Ã½ºÅÛµéÀº »õ·Î¿î utmp Æ÷¸ËÀ» »ç¿ëÇÏ´Â ÆÐÄ¡µÈ libc5¸¦ Æ÷ÇÔÇÑ´Ù. libc5¿¡¼­ Á÷Á¢ ¾×¼¼½ºµÇ±â ¶§¹®¿¡, utmp¿¡ ÀÖ¾î ¹®Á¦´Â ¿©ÀüÈ÷ Á¸ÀçÇÑ´Ù.  

RESTRICTIONS

ÆÄÀÏ Æ÷¸ËÀº ¸Ó½Å¿¡ ÀÇÁ¸ÀûÀ̱⠶§¹®¿¡, ÀÌ°ÍÀÌ »ý¼ºµÇ´Â ¸Ó½ÅÀÇ ¾ÆÅ°ÅØÃÄ¿¡¼­¸¸ 󸮵ǵµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ´Ù.  

¹ö±×

ÀÌ ¸Ç ÆäÀÌÁö´Â libc5¿¡ ±â¹ÝÇϸç, ÇöÀç¿Í ´Ù¸£°Ô µ¿ÀÛÇÒ ¼öµµ ÀÖ´Ù.  

°ü·Ã Ç׸ñ

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


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
ÆÄÀÏ
ȣȯ
RESTRICTIONS
¹ö±×
°ü·Ã Ç׸ñ

This document was created by man2html, using the manual pages.
Time: 08:07:01 GMT, March 25, 2004