FileZilla/FileZilla és a Felhasználói Fiók felügyeleti jellemzői Windows Vista alatt
User Account Control (UAC), fájlrendszer virtualizáció és hatása a FileZillában
szerkesztésÁltalános magyarázat
szerkesztésA Microsoft bevezetta a "User Account Control (UAC)"-t a Windows Vista-ban és benne lesz a Windows 7-ben is. Más összetevők között szintén tartalmaz egy fájlrendszer virtualizációnak hívott funkciót. Ez lényegében más elérési útra irányítja át bizonyos fájlok olvasását/írását. A legfontosabb írásvédett könyvtár a Program Files, amit meg kell osztanunk.
Tételezzük fel, hogy a védett útvonal a C:\Program Files.
A FileZilla régebbi verziói és más programok nem kifejezetten Vista-tudatosak, hiányzik belőlük az ún. manifest (= árujegyzék). Az "árujegyzék" alapvetően megmondja Windows-nak, hogy a program miket tud az előző Windows verziókról, illetve hogy az adott alkalmazásnak milyen szükségletei vannak a működéséhez.
Az a szoftver, amelyben nincs ez a bizonyos "árujegyzék", egy általános felhasználói (NEM az éppen bejelentkezett felhasználó) háttérrel fog futni. Ilyen programokhoz használják fájlrendszer virtualizációt.
Ha a program a C:\Program Files\Program mappába van telepítve és megpróbál egy fájlt írni a könyvtárjába, mivel az írásvédett, a fájl nem ott lesz, hanem ebben az esetben: C:\Users\<username>\AppData\Local\VirtualStore\Program Files\Program = C:\Felhasználók\<felhasználónév>\AppData\Local\VirtualStore\Program Files\Program.
Ez teljesen észrevehetetlen a régebbi program és a felhasználó számára.
A gond ott kezdődik, ha egy olyan Vista-tudatos programmal szeretnénk hozzáférni ehhez a fájlhoz, mint amilyen a FileZilla is. Mivel a FileZilla tartalmazza az "árujegyzéket", nem használja a VirtualStore-t, helyette ismeri a valós elérési utat, ezért természetesen ott nem fogja megtalálni a fájlunkat.
Példa
szerkesztésVan egy HTML szerkesztőnk, ami a Vista előtt készült, legyen a neve HTML_szerk.
Ezt feltelepítjük a C:\Program Files\HTML_szerk, a lapokat pedig a C:\Program Files\HTML_szerk\kozzetetel mappába tesszük.
A Windows-os felhasználó nevünk legyen felh és az angol nyelvű verziót használjuk.
A legutóbbi verziójú FileZilla van feltelepítve az FTP-n keresztüli fájl átvitelekhez.
Elindítjuk a "HTML_szerk"-et, megcsináljuk a honlapunkat, ami egy index.html-ből és néhány képből áll. Elégedettek vagyunk a munkánkkal és elmentjük. Most át szeretnénk küldeni a szerverre. Elindítjuk a FileZillát, megkeressük vele a "kozzetetel" mappát és az üres. Mi történhetett?
Az előbb a HTML_szerk a C:\Program Files\HTML_szerk\kozzetetel mappába akarta volna menteni a fájlt. A kérést az UAC fogadta és átiránytotta.
A fájljaink helyette a C:\Users\felh\AppData\VirtualStore\Program Files\HTML_szerk\kozzetetel mappába lettek elmentve.
Természetesen ott megtaláljuk a FileZillával és át is tudjuk küldeni.
Milyen problémák merülhetnek fel?
szerkesztésA fájlrendszer virtualizációt a Vista előtt készített programokhoz használják, amelyekben nincsen megfelelő "árujegyzék", ezért nem rendszergazda módban indulnak el. Lejjebb olyan hibák vannak felsorolva, melyek most, vagy a jövőben felmerülhetnek:
A régi alkalmazás frissítve lett és az új verzió tartalmazza az "árujegyzéket"
szerkesztésEbben az esetben (ahogy a FileZilla is) a program innentől nem fog fájlrendszer virtualizációt használni. Ilyenkor a felhasználó teljesen össze van zavarodva, hogy a minden fájlja eltűnt.
Az UAC le van tiltva
szerkesztésA "Power user"-ek (ezeknek a felhasználóknak bizonyos programokban több joguk van, mint egy átlag felhasználónak) szokták ezt csinálni, hogy visszaálltsák a régi Windows XP viselkedését. Ebben az összes Vista előtti program érintett! Így "elveszthetik" az elmentett fájljaikat, beállítási fájlokat és adatokat, amelyek az előzőleg írásvédett részekben voltak tárolva (azok átirányítódtak a VirtualStore-ba).
Rendszergazdaként indított programok
szerkesztésA Vista előtti alkalmazások, melyek rendszergazdaként lettek elindítva, a fájlrendszer virtualizáció nem lett hozzájuk alkalmazva és úgy tűnik, mintha minden adat elveszett volna, amelyek írásvédett helyeken voltak és átirányítódtak a VirtualStore-ba.
Mit tehetünk, hogy megoldjuk ezt a helyzetet?
szerkesztés1. Használjuk a legutóbbi, Vista-tudatos verzióját minden programnak, aminek csak lehetséges
2. Ne mentsük az adatainkat írásvédett könyvtárakba. Irányítsuk át a mentést az alkalmazásban egy nem írásvédett elérési útra.
Például: csináljunk egy könyvtárat C:\kozzetetel és mentsük oda a weblapunkat (vagy más munkánkat, fájljainkat)
3. Tiltsuk le az UAC-t
4. Ne használjunk Vista-t ;)
Általában pedig nézzük meg, mi van a C:\Users\<felhasználónevünk>\AppData\Local\VirtualStore mappában. Az összes átirányított adatot megtaláljuk benne.