Gizli olmayan dizin Explorer’da gösterilmez, ancak bunu yapan program ona erişebilir


26

Posta kutularımı yedeklemek için IMAPSize kullanıyorum . Bu işlem sadece posta kutunuzun içeriğini .emldiskinizdeki dosyalara aktarır. Neyse, yedeklediğim ilk posta kutusu beklediğim gibi görünüyor. Bununla birlikte, bir sonraki Explorer'da gösterilmez ve adres çubuğuna girersem, var olmadığını söyler.

Ancak, IMAPSize, dosyaların orada olduğu konusunda ısrar ediyor. (Disk yazma Bir çok işlem sırasında gerçekleştirilen ediliyordu.) Ayrıca, dizin yok , Windows dizini iletişim kutusunda görünür ve - bu gösterileri - I GNU araçları yüklü olarak ls(ama yerli içinde dir). Yapamam cddizine ama ls(aslında beklediğim dizinleri ve dosyalar gibi görünen ve) o erişmek mümkün gözüküyor.

listeleri gösteren komut istemi penceresi

Ayrıca zaman damgası ve dosya boyutunun ve çıktısında backup.dbfarklı olduğuna dikkat edin .dirls -l

Kısacası: Burada neler oluyor ve nasıl düzeltebilirim?


1
Gördüğüm tek fark ls -l, "gizli" dizinlere ve dosyalara özgü bir dizi hardlink göstermesidir ... Bunun neden olduğunu ya da bir hardlink'in NTFS-ülkesinde nasıl yorumlandığını bilmiyorum.
Xophmeister

... Sadece onaylamak için: cat(başka bir GNU coreutil) kullanarak "gizli" dosyalardaki verilere komut satırından erişebilirim . Yine de, yerel Windows araçları (örn. type) Dosyayı bulamıyor.
Xophmeister

Yanıtlar:


63

Tahmin edeyim: dosyayı oluşturan program ve ayrıca GNU yardımcı programları, yönetici olarak çalışmıyor.

İlk önce bazı tarihler. Windows XP günlerinde, pek çok program her zaman yönetici olarak çalıştırılacağını C:\Windowsve C:\Program Files (x86)vahşi bırakma gibi yerlere yazılacağını varsayıyordu . Vista ile Microsoft daha az kişiye yönetici yapmaya çalıştı, ancak standart kullanıcılar bu yerlere yazamıyor. Çalışmaya devam etmek için bu şüpheli programlara ihtiyaçları vardı (ya da başkalarının gelişmemesi için). Böylece UAC sanallaştırma adı verilen büyülü bir özellik ortaya koydular .

Standart kullanıcılar olarak çalışan programlar, önemli konumlara yazdıklarının başarılı olduğunu düşünebilir, ancak gerçekte, Windows verileri kullanıcı başına bir yerde susturdu. Bu programlar bir dizindeki dosyaları aradığında, Windows o yerin sanal deposunda herhangi bir dosya olup olmadığını kontrol eder ve öyleyse bunları dizin listesine ekler. (Kayıt defteri için eşdeğer işlevsellik vardır.)

Posta programınız Program Files (x86)normal bir kullanıcı olarak çalışırken altındaki bir yere yazmaya çalıştı . Yazma yönlendirildi, o yüzden aslında o yere gitmedi. Program hala onu görebiliyor, çünkü Windows bunun için yanılsama yaratıyor. Explorer bunu görmüyor, çünkü işletim sistemine iyi davranıldığını ve yeniden yönlendirmeye ihtiyaç duymadığını duyuruyor. Komut isteminin dirkomutu bir program değildir (yalnızca bir özelliğidir cmd.exe), bu yüzden "bildiği" olarak da kabul edilir ve bu nedenle uyumluluk dosyaları gösterilmez. lsaçıkça bilmediğim bir programdır, bu yüzden uyumluluk dosyalarını görmeye başlar.

Dosyanızı burada bulacaksınız:

%LOCALAPPDATA%\VirtualStore\Program Files (x86)\IMAPSize\backup

Etrafta dolaşırken VirtualStore, hangi programların iyi davranılmadığına ve sanallaştırma güvenlik ağına ihtiyaç duyduğuna şaşırmış olabilirsiniz.

Yeniden yönlendirmeyi durdurmak istiyorsanız, programı yönetici olarak çalıştırın veya yedeklerinizi yönetici ayrıcalıkları olmadan yazabileceğiniz bir yere kaydedin.


16
Ve burada Windows'u bildiğimi sanıyordum. Ya bu iyi işlenmiş bir aptal şakası ya da bugün önemli bir şey öğrendim. teşekkürler, @ Ben N!
Aganju

3
@Aganju Birkaç ay önce bir Windows kullanıcısının WinSCP için bir keypair oluşturmasına yardım etmek zorunda kaldım. Ve bunlar, soruda açıklandığı şekilde hemen hemen görünmez hale geldi. O zaman, bu cevapta verilenle hemen hemen aynı açıklama yapmıştım. Hipotezimi doğrulamak için canımı sıkmadım, çünkü problem, dosyayı kullanıcılar ana dizini altına koyarak çözüldü. Ama en azından bu cevabın bana şaka gibi görünmediğini doğrulayabilirim.
kasperd

3
Ben lanetleneceğim! Hepsi orada. Bu, amaçlandığı halde bile garip bir davranış. Bir dosya sistemi hatası olduğunu sanıyordum! Yönetici ayrıcalıklarına sahip olacaktı; Oysa "gizli" çalışma yerel kullanıcı olarak yapıldı.
Xophmeister

1
@Aganju Sanırım Vista'yı hiç kullanmadın. Explorer'da sanallaştırılmış dosyaları gösterme özelliği vardı; çünkü konu birkaç yıl için yeterince yaygındı. Win7 ortaya çıktığında, en yaygın kullanılan yazılım yükleme dizininin alt klasörlerine yazabileceğini varsaymayı bıraktı; ve bu özellik, Windows'un en son sürümlerinde önemli ölçüde daha az görünür veya muhtemelen tamamen kaldırılmıştır.
Dan Neely,

4
@ Xophmeister Bu bir takas. Cevapta belirtildiği gibi, kendi uygulama dizinine yazılan yazılımlar Vista'dan önce çok yaygındı. Bu büyük bir güvenlik deliği, bu yüzden çözülmesi gerekiyordu. Alternatifler 1) yazmayı engellemek ve tüm uygulamaları kırmak, 2) dosyaları güvenli bir yere kaydetmek için sanallaştırmayı kullanmaktı. 1) elbette Microsoft’un SOP’una karşı savunmasız ve çok fazla şey var ve sonunda sadece her şeyi bir daha önce olduğu gibi yönetici altında yürüten herkese yol açacaktı. Kafa karıştırıcı olabilir, ama yine de muhtemelen en iyi seçenek. Tehlikeli dizinlere yazmayın.
Luaan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.