Показать сообщение отдельно

  #23  
Старый 20.05.2009, 22:48
[underwater]
Познающий
Регистрация: 29.03.2009
Сообщений: 87
С нами: 9010027

Репутация: 308
По умолчанию

Kак пишутся логины в систему

Есть основные места, в которых сохраняется системная информация о логине:

/usr/etc/wtmp

/usr/etc/lastlog

/etc/utmp


utmp пишет инфу о том, кто в настоящее время использует систему.

Файл - последовательность входов со следующей структурой, которая конфигурится в /usr/include/utmp.h

Код:
struct utmp {
char ut_line[8]; /* tty name */
char ut_name[8]; /* user id */
char ut_host[16]; /* host name, if remote */
long ut_time; /* time on */
}
Эта структура пишет название терминалки юзера, юзер ID-ентификатор логиняшегося,имя хоста откель логинился, если не локально и время входа в систему. на многих платформах структура разная, но все равно легко достаточно читается.

wtmp пишет все входа и выходы из системы. Пустое имя пользователя указывает выход из системы на связанном терминале.

Кроме того, '~' указывает, что система была перезагружена в указанное время; вход с именами включающими'|'

говорит, что система изменила время как раз перед логоном и с именами и '{' после того как был совершен логон (то есть ,

команда даты изменила время системы.

Wtmp обслуживается login(1) и init (8). Они свои события по идее не пишут никуда, так что если их отрубить, то и логи

в wtmp писаться не будут. Wtmp используется вместе с командой/usr/ucb/last. Это понятно? Запросто проверить если

служба не работает.

/usr/adm/lastlog используется login(1) для того, чтобы сохранить предыдущие даты входа в систему, время, в которое они

были, и с какого хоста подключались. Структура для lastlog такая:

Код:
struct lastlog {
time_t ll_time;
char ll_line[8];
char ll_host[16];
};
 
Ответить с цитированием