ID članka: 320081 - Pregledajte proizvode na koje se odnosi ovaj članak.
Proširi sve | Sažmi sve

Na ovoj stranici

UVOD

U ovom se članku opisuje zašto možda nećete moći izbrisati datoteku ili mapu na jedinici s datotečnim sustavom NTFS te kako pristupiti različitim uzrocima da biste uklonili problem.

Dodatne informacije

Napomena NTFS interno mape smatra posebnom vrstom datoteke. Stoga riječ "datoteka" u ovom članku označava datoteku ili mapu.

Prvi uzrok: Datoteka koristi ACL

Ako datoteka koristi ACL (Access Control List – popis kontrole pristupa), možda je nećete moći izbrisati. Da biste riješili taj problem, izmijenite dozvole za datoteku. Da biste izmijenili dozvole, možda ćete morati preuzeti vlasništvo nad datotekom.

Podrazumijeva se da administratori mogu preuzeti vlasništvo nad bilo kojom datotekom čak i ako im nije dana eksplicitna dozvola za datoteku. Podrazumijeva se da vlasnici datoteka mogu mijenjati dozvole za datoteku čak i ako im nije dana eksplicitna dozvola za datoteku. Možda ćete stoga morati preuzeti vlasništvo nad datotekom, dodijeliti si dozvolu za brisanje datoteke i potom izbrisati datoteku.

Nije moguće koristiti određene sigurnosne alate da biste prikazali ili izmijenili dozvole jer datoteka koristi nestandardni ACL

Da biste zaobišli taj problem, upotrijebite drugi alat (primjerice, kasniju verziju programa Cacls.exe).

ACE-ovi (Access Control Entries – unosi kontrole pristupa) u ACL-u imaju određeni preferirani slijed, ovisno o vrsti kojoj pripadaju. Primjerice, ACE-ovi koji odbijaju pristup najčešće dolaze prije ACE-ova koji odobravaju pristup. No ništa ne priječi program da napiše ACL koji sadrži ACE-ove u bilo kojem proizvoljnom slijedu. U nekim starijim verzijama sustava Windows problemi su se pojavljivali kad bi Microsoft Windows pokušao čitati te nestandardne ACL-ove. Ponekad te ACL-ove ne možete ispravno izmijeniti uz pomoć grafičkog sigurnosnog uređivača u programu Microsoft Windows Explorer. Taj je problem ispravljen u novijim verzijama sustava Windows. Ako nailazite na taj problem, upotrijebite najnoviju verziju programa Cacls.exe. Čak i ako ne možete prikazati ili uređivati ACL na licu mjesta, možete napisati novi ACL koji vam omogućuje pristup datoteci.

Drugi uzrok: Datoteka se koristi

Ako se datoteka koristi, možda je nećete moći izbrisati. Da biste riješili taj problem, otkrijte koji proces ima otvoreni pristupni broj pa taj proces prekinite.

Ovisno o tome kako je datoteka otvorena (primjerice, ako je otvorena za ekskluzivni umjesto zajedničkog pristupa), možda nećete moći izbrisati datoteku koja se koristi. Možete koristiti čitav niz alata koji vam pomažu da, kad god poželite, odredite koji procesi imaju otvorene pristupne brojeve za datoteke. Dodatne informacije o alatima za procese koji imaju otvorene pristupne brojeve za datoteke potražite u člancima iz Microsoftove baze znanja pod brojevima
242131 Kako prikazati popis procesa koji imaju otvorene datoteke (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)
172710 Kako koristiti OH alat na paketu resursa sustava Windows NT 4.0 (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)
Više je različitih simptoma tog problema. Možete koristiti naredbu Delete (Izbriši) da biste izbrisali datoteku, ali datoteka se neće doista izbrisati sve dok proces koji je drži otvorenom ne otpusti datoteku. Uz to možda nećete moći pristupiti dijaloškom okviru Security (Sigurnost) za datoteku koja čeka brisanje. Da biste riješili taj problem, odredite koji proces ima otvoreni pristupni broj pa taj proces prekinite.

Treći uzrok: Oštećenje datotečnog sustava sprječava pristup datoteci

Datoteku možda nećete moći izbrisati ako je datotečni sustav oštećen. Da biste riješili taj problem, pokrenite uslužni program Chkdsk na diskovnoj jedinici kako biste ispravili sve pogreške.

Oštećeni sektori na disku, drugi neispravni dijelovi hardvera ili softverske pogreške mogu oštetiti datotečni sustav i izazvati probleme na datotekama. Više je načina na koji uobičajene operacije mogu ne uspjeti. Kada datotečni sustav otkrije oštećenje, bilježi događaj u zapisnik događaja i zatim vam šalje poruku da pokrenete Chkdsk. Ovisno o prirodi oštećenja, Chkdsk može ili ne mora moći oporaviti podatke iz datoteka, no Chkdsk datotečni sustav vraća u interno ujednačeno stanje. Dodatne informacije o uslužnom programu Chkdsk potražite u člancima iz Microsoftove baze znanja pod brojem:
176646 Poruka o pogrešci: Datoteka ili direktorij su oštećeni... (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)
187941 Objašnjenje programa CHKDSK i novih /C i /I parametara (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)

Četvrti uzrok: Datoteke postoje u putovima koji obuhvaćaju više razina nego što dopušta postavka MAX_PATH

Ako postoje problemi s putom datoteke, možda nećete moći otvoriti, urediti ili izbrisati datoteku.

Prvo rješenje: Koristite automatski generiran naziv datoteke u obliku 8.3 da biste pristupili datoteci

Da biste pristupili datoteci, pokušajte koristiti automatski generiran naziv datoteke u obliku 8.3. To je rješenje možda i najjednostavnije ako put obuhvaća više razina jer su nazivi mapa predugački. Ako je i put 8.3 predugačak ili su nazivi u obliku 8.3 na jedinici onemogućeni, prijeđite na drugo rješenje. Dodatne informacije o onemogućivanju datotečnih naziva u obliku 8.3 na jedinicama s datotečnim sustavom NTFS potražite u članku iz Microsoftove baze znanja pod brojem
121007 Kako onemogućiti stvaranje naziva u obliku 8.3 na particijama s datotečnim sustavom NTFS (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)

Drugo rješenje: Preimenujte ili pomaknite mapu koja obuhvaća više razina

Preimenujte mapu da više ne bi postojale ciljne datoteke koje obuhvaćaju više razina nego što dopušta postavka MAX_PATH. Ako to činite, započnite od korijenske mape (ili na drugom prikladnom mjestu), a zatim mapama nazive promijenite u kraći oblik. Ako se tako ne riješi problem (ako se, primjerice, datoteka proteže na više od 128 mapa), upotrijebite četvrto rješenje.

Treće rješenje: Preslikajte disk do mape u strukturi puta

Preslikajte disk do mape unutar strukture puta ciljne datoteke ili mape. Tako se skraćuje virtualni put.

Zamislimo da imate put strukturiran na sljedeći način:
\\Nazivposlužitelja\Nazivpodmape1\Nazivpodmape2\Nazivpodmape3\Nazivpodmape4\...
U tome putu ukupan zbroj znakova iznosi više od 255. Da biste njegovu duljinu skratili na 73 znaka, preslikajte disk u Nazivpodmape4.

Četvrto rješenje: Koristite zajednički mrežni resurs koji ima isti broj razina kao i mapa

Ako prvo, drugo i treće rješenje nisu prikladni ili ne rješavaju problem, stvorite zajednički mrežni resurs koji obuhvaća što je moguće više razina stabla mape, a zatim preimenujte mape pristupajući zajedničkom mrežnom resursu.

Peto rješenje: Koristite alat koji može prolaziti putevima koji obuhvaćaju više razina

Za mnoge programe sustava Windows potrebno je da maksimalna duljina puta bude kraća od 255 znakova. Ti programi stoga dodjeljuju onu količinu internog prostora za pohranu dovoljnu za obradu tih uobičajenih puteva. Datotečni sustav NTFS nema tog ograničenja i može obraditi mnogo dulje puteve.

Taj se problem može pojaviti ako u nekoj točki strukture mape koja obuhvaća veći broj razina stvorite zajednički resurs, a zatim uz pomoć zajedničkog resursa ispod tih točaka stvorite strukturu koja obuhvaća više razina. Može se dogoditi da neki alati koji rade lokalno na stablu mapa ne mogu proći čitavo stablo počevši od korijena. Možda ćete te alate morati koristiti tako da prođu zajednički resurs (dokumentacija za funkciju CreateFile API opisuje način prolaska čitavog stabla u takvoj situaciji).

Datotekama obično možete upravljati uz pomoć softvera kojim su stvorene. Ako imate program koji može stvoriti datoteke koje obuhvaćaju više razina nego što dopušta postavka MAX_PATH, isti program obično možete koristiti za brisanje datoteka ili upravljanje njima. Datoteke koje su stvorene na zajedničkom resursu obično možete izbrisati uz pomoć tog resursa.

Peti uzrok: Datotečni naziv sadrži naziv koji je rezerviran u prostoru za naziv sučelja Win32

Ako naziv datoteke sadrži naziv (primjerice "lpt1") koji je rezerviran u prostoru za naziv sučelja Win32, možda nećete moći izbrisati datoteku. Da biste riješili taj problem, upotrijebite program koji se ne zasniva na sučelju Win32 te tako preimenujte datoteku. Da biste koristili datoteku, upotrijebite alat POSIX ili bilo koji drugi alat koji koristi odgovarajuću internu sintaksu.

Osim toga možete koristiti neke ugrađene naredbe da biste zaobišli uobičajene provjere naziva rezerviranog u sučelju Win32 ako navedete put datoteke uz pomoć određene sintakse. Primjerice, ako u sustavu Windows XP upotrijebite naredbu Del, možete izbrisati datoteku pod nazivom "lpt1" ako navedete puni put datoteke pomoću sljedeće posebne sintakse:
del \\?\c:\put_do_datoteke\lpt1
Dodatne informacije o brisanju datoteka s rezerviranim nazivima u sustavima Windows NT i Windows XP potražite u članku iz Microsoftove baze znanja pod brojem
120716 Uklanjanje datoteka s rezerviranim nazivima u sustavu Windows (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)
Dodatne informacije o brisanju datoteka s rezerviranim nazivima u sustavu Windows XP potražite u članku iz Microsoftove baze znanja pod brojem
315226 Uklanjanje datoteka s rezerviranim nazivima u sustavu Windows XP (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)
Ako otvorite pristupni broj za datoteku koristeći uobičajeni mehanizam CreateFile (Stvori datoteku) sučelja Win32, vidjet ćete da su određeni nazivi datoteka rezervirani za stare DOS uređaje. Zbog kompatibilnosti sa starijim verzijama ti datotečni nazivi nisu dopušteni i ne mogu se stvoriti uz pomoć uobičajenog pozivanja datoteka u sučelju Win32. No taj problem ne ograničava datotečni sustav NTFS.

Možda ćete moći koristiti program utemeljen na sučelju Win32 da biste zaobišli uobičajene provjere naziva koje se izvode prilikom stvaranja (ili brisanja) datoteke uz pomoć tehnike koju koristite da biste prošli mape koje obuhvaćaju više razina nego što dopušta postavka MAX_PATH. Osim toga, te provjere ne obuhvaćaju neke POSIX alate.

Šesti uzrok: Datotečni naziv sadrži pogrešan naziv u prostoru za naziv sučelja Win32

Datoteku možda nećete moći izbrisati ako datotečni naziv sadrži pogrešan naziv (primjerice, ako datotečni naziv sadrži prateći razmak, prateću točku ili se sastoji samo od razmaka). Da biste riješili taj problem, za brisanje datoteke koristite alat koji koristi odgovarajuću internu sintaksu. Da biste upravljali tim datotekama, u nekim alatima možete koristiti sintaksu "\\?\", primjerice:
del "\\?\c:\"put_do_datoteke_koja sadrži prateći razmak.txt" "
Uzrok tog problema sličan je četvrtom uzroku. No ako koristite uobičajenu sintaksu sučelja Win32 da biste otvorili datoteku koja u nazivu ima prateće razmake ili prateće točke, prateći se razmaci ili točke uklanjaju prije stvarnog otvaranja datoteke. Stoga, ako u istoj mapi imate dvije datoteke pod nazivom "Datoteka.txt" i "Datoteka.txt " (pazite na razmak nakon naziva datoteke), prvu datoteku otvorit ćete ako uz pomoć standardnih Win32 poziva pokušate otvoriti drugu datoteku. Isto tako, ako imate datoteku čiji se naziv sastoji samo od " " (oznaka razmaka) i pokušate je otvoriti uz pomoć standardnih Win32 poziva, otvorit ćete nadređenu mapu datoteke. Ako pokušate tada izmijeniti sigurnosne postavke tih datoteka, možda to nećete moći učiniti ili ćete neočekivano izmijeniti postavke različitih datoteka. Ako se takva situacija dogodi, vjerojatno ćete pomisliti da imate dozvolu za datoteku koja u stvari ima ograničavajući ACL.

Kombinacije uzroka

Ponekad se mogu pojaviti kombinacije tih uzroka koje postupak brisanja datoteke čine složenijim. Ako se, primjerice, prijavite kao administrator računala, može se pojaviti kombinacija prvog uzroka (nemate dozvolu za brisanje datoteke) i petog uzroka (datotečni naziv sadrži prateći znak koji uzrokuje preusmjeravanje pristupa datoteke do druge ili nepostojeće datoteke) pa datoteku nećete moći izbrisati. Ako pokušate riješiti prvi uzrok preuzimanjem vlasništva nad datotekom i dodavanjem dozvola, ni tada nećete moći izbrisati datoteku jer uređivač ACL-a u korisničkom sučelju ne može pristupiti odgovarajućoj datoteci zbog šestog uzroka.

U toj situaciji možete koristiti uslužni program Subinacl s parametrom /onlyfile (taj se uslužni program nalazi u paketu resursa) da biste promijenili vlasništvo i dozvole za datoteku koja inače nije dostupna, primjerice:
subinacl /onlyfile "\\?\c:\put_do_problematične_datoteke" /setowner=domena\administrator /grant=domena\administrator=F
Napomena Ta je naredba jedinstven naredbeni redak koji je ovdje razlomljen zbog čitljivosti.

Tom se naredbom mijenja datoteka C:\"put_do_problematične_datoteke" koja sadrži prateći razmak tako da račun domena\administrator postaje vlasnikom te datoteke i ima punu kontrolu nad datotekom. Sada možete tu datoteku izbrisati uz pomoć naredbe Del u istoj "\\?\" sintaksi.

Reference

Dodatne informacije potražite u članku iz Microsoftove baze znanja pod brojem
319368 Pri brisanju mapa s postavljene jedinice prikazuje se poruka o pogrešci "Pristup je odbijen" (Ova veza može upućivati na sadržaj koji je djelomično ili potpuno na engleskom jeziku)

Svojstva

ID članka: 320081 - Posljednja izmjena: 7. lipnja 2013. - Revizija: 7.6
Odnosi se na:
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Advanced Server, Limited Edition
  • Microsoft Windows Datacenter Server Limited Edition
Ključne riječi: 
kbfilesystems kbinfo KB320081

Pošaljite povratne informacije

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com