Auditul proprietarii de fișiere, ferestre pro-l

Administratorii de sistem de multe ori mă întreb dacă este posibil pentru a obține o listă cu toate fișierele create de un anumit utilizator, de lucru cu o structură de directoare, care conține mai mult de 20.000 de fișiere. La prima vedere, această întrebare părea absurdă. singura modalitate de a obține aceste informații ar fi un studiu al fiecărui dosar, în scopul de a obține numele proprietarului său, și întocmirea listei. Efectuarea acestei operații ar necesita o eternitate. Cu toate acestea, mi-am amintit că în urmă cu câțiva ani de lucru cu utilitarul, care este un set de resurse, numit Subinacl.exe. Cu acesta, am schimbat proprietarii de fișiere. În același timp, am descoperit că, în plus față de celelalte caracteristici ale acestui utilitar, vă permite să vizualizați proprietățile de fișiere, inclusiv identificator de securitate (SID), utilizatorul care deține fișierul. Știind că Subinacl utilitate mă va ajuta pentru a obține informațiile necesare, am creat un script numit ownedby.cmd, pentru a pune în aplicare proprietarii de fișiere de audit.

Trimite o cerere pentru un material

Administratorii de sistem de multe ori mă întreb dacă este posibil pentru a obține o listă cu toate fișierele create de un anumit utilizator, de lucru cu o structură de directoare, care conține mai mult de 20.000 de fișiere. La prima vedere, această întrebare părea absurd - singura modalitate de a obține aceste informații ar fi un studiu al fiecărui dosar, în scopul de a obține numele proprietarului său, și întocmirea listei. Efectuarea acestei operații ar necesita o eternitate. Cu toate acestea, mi-am amintit că în urmă cu câțiva ani de lucru cu utilitarul, care este un set de resurse, numit subinacl. exe. Cu acesta, am schimbat proprietarii de fișiere. În același timp, am descoperit că, în plus față de celelalte caracteristici ale acestui utilitar, vă permite să vizualizați proprietățile de fișiere, inclusiv identificator de securitate (SID), utilizatorul care deține fișierul. Știind că Subinacl utilitate mă va ajuta pentru a obține informațiile necesare, am creat un script numit ownedby. cmd (este prezentată în Listarea 1) pentru a pune în aplicare proprietarii de fișiere de audit.

utilitate Subinacl. exe

unde filename I - este numele fișierului. Din moment ce nu aveți nevoie de toate informațiile furnizate de această comandă, puteți adăuga parametrul / noverbose. pentru a afișa un rezumat al informațiilor din lista de control al accesului de fișiere. Figura 1 prezintă o comandă Subinacl exemplu cu toți parametrii. După cum puteți vedea, unul dintre șirurile conține fraza «/ proprietar = S-1-5-32-544», ceea ce înseamnă că identificatorul de securitate al utilizatorului - «S -1-5-32-544».

utilitate GETSID. exe compară AIN celor două conturi. Sintaxa comenzii este următoarea:

în cazul în care expresiile server1 și SERVER2 definesc serverele pe care doriți să le interogare pentru informații despre identificatorii de securitate, și account1 și account2 - conturi pe care doriți să le comparați. Scenariul Ownedby. cmd utilitate utilizează GETSID. pentru a obține SID pentru un anumit cont de utilizator, astfel încât, în acest caz, valoarea server1 și SERVER2 sunt aceleași. precum și valorile și account1 account2. De exemplu, pentru a obține SID pentru utilizator cu controler de domeniu jdoe mydc. Am intrat comanda

Principiul de funcționare al scenariului

Acum aveți toate instrumentele necesare pentru script. Subinacl utilitar vă permite să obțineți utilizatorului SID și GETSID utilitate returnează SID pentru numele de utilizator specificat. Cu aceste instrumente, puteți face o comparație „numele de utilizator proprietarului fișierului.“ script sarcină Ownedby. cmd se încheie și numele căii pentru fiecare fișier în structura de directoare corespunzătoare aparținând unui anumit utilizator. Script-ul foloseste un parametru de hard-codificate (controler de domeniu) și trei parametri de funcționare: numele de utilizator (userid), structura de directorul rădăcină (ROOT_DIRECTORY), și fișierul de ieșire (fișierieșire). Sintaxa comenzii finală Ownedby este după cum urmează:

De exemplu, dacă am tip

script-ul afișează rezultatele într-un fișier. txt. informații cu privire la toate fișierele care aparțin utilizatorului jdoe, în dosarul G: utilizatorii și subdirectoarele sale.

Atunci când rulează script-ul trebuie să determine identificatorul de securitate al utilizatorului menționat, și apoi salvați acest identificator într-o variabilă sid pentru o utilizare viitoare, așa cum se arată în blocul A din listă 1. Acest prim cod șterge AIN variabilă. în cazul în care a fost determinată anterior. Apoi, script-ul definește SID al utilizatorului de utilitate GETSID utilizat într-o ieșire filtru de buclă și care este utilizat pentru a afișa numai înregistrările care conțin expresia „S -“ (prefix SID). Script-ul preia valoarea identificator al șaptelea rând ( „token = 7“) din care rezultă ieșire utilități GETSID și stochează această valoare într-un sid variabilă. O valoare constantă% DC% - controlerul este codat rigid nume de domeniu, care anterior sunt aranjarea în scenariu. O valoare constantă% USERID% conține numele de utilizator pe care îl introduceți printre opțiunile de linie de comandă atunci când executați scriptul.

După aceea, executarea blocului cu eticheta. checkowner pentru fiecare fișier, emis de comanda Dir. Acest aparat este pornit pentru prima dată utilitate Subinacl pentru numele de fișier și stochează informațiile despre proprietarul într-un proprietar variabil. Apoi, script-ul determină dacă fișierul specificat de utilizator aparține, transferul de valoare din echipa Subinacl în comanda Find. pentru a se asigura că același lucru dacă SID al utilizatorului și SID al proprietarului fișierului. În cazul în care valoarea ERRORLEVEL variabilă este egală cu 0, se consideră că a fost găsit un meci, iar script-ul setează variabila găsit într-o valoare de 1, așa cum se arată în codul din blocul D. Deoarece script-ul șterge variabila găsit înainte de a instala 1, va fi capabil să se facă distincția între cazurile în care pavilion seturile de găsit în timpul verificării coincidență, și atunci când valoarea variabilei este setată script găsit. În cazul în care variabila este setat la 1, se consideră că un meci este găsit, iar scriptul adaugă numele de fișier în fișierul de ieșire, astfel cum este evident din codul din blocul E.

Noțiuni de bază

Deși scenariul ownedby. cmd relativ scurt și simplu, ea are unele caracteristici minore. Citez câteva aspecte care trebuie să acorde o atenție pentru a asigura funcționarea corectă a script-ul:

Listarea 1. Ownedby.cmd Scenariul

Partajați imagini cu prietenii și colegii