So beheben Sie beschädigte Berechtigungen in einem verschlüsselten Ordner "encfs"

1

Ich verwalte und mounte einen verschlüsselten Ordner mit Gnome encfs manager und es hat jahrelang funktioniert. Plötzlich sieht es so aus, als ob die darin enthaltenen Dateien oder Berechtigungen beschädigt wären. Die Montage erfolgt am Terminal wie beim Manager. Auf die Dateien im Stammordner kann ebenfalls zugegriffen werden.

Aber in allen untergeordneten Verzeichnissen sehe ich die Dateinamenberechtigungen nur als Fragezeichen, kann sie nicht öffnen und selbst mit sudo können die Berechtigungen nicht geändert werden.

root@lubuntu:/home/user/safe# ls -l   
    ls: cannot access local: Permission denied
    total 1932
    ...
    d????????? ? ?      ?           ?            ? local

local ist der gemountete verschlüsselte Ordner encfs. Auf einer Root-Shell kann ich keine CD einspielen, mit meinem eigenen Benutzer kann ich aber nur wieder Fragezeichen bekommen:

[~/safe/local/backup]$ ls -l
ls: cannot access index.htm: Permission denied
ls: cannot access bookmarks.html: Permission denied
total 0
d????????? ? ? ? ?                ? foo/
-????????? ? ? ? ?                ? index.html
-????????? ? ? ? ?                ? bookmarks.htm

Das Seltsame ist, dass ich mit meinem Benutzer auf die Dateien in ~ / safe / local / fine zugreifen kann, aber nichts in den Unterverzeichnissen, und root kann noch weniger. chown und chmod geben mir als root oder mit sudo "Permission denied".

Irgendein Rat? Weist das auf eine fehlerhafte Festplatte hin? Ich habe vor kurzem von Lubuntu 14.10 auf 15.10 aktualisiert.

Update: Hier ist die ausführliche Ausgabe beim Mounten:

[~/safe]$ encfs -f -v  .local test
14:37:17 (main.cpp:559) Root directory: .local/
14:37:17 (main.cpp:560) Fuse arguments: (fg) (threaded) (keyCheck) encfs test -f -o use_ino 
14:37:17 (FileUtils.cpp:174) version = 20
14:37:17 (FileUtils.cpp:177) found new serialization format
14:37:17 (FileUtils.cpp:191) subVersion = 20100713
14:37:17 (Interface.cpp:117) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
14:37:17 (SSL_Cipher.cpp:335) allocated cipher ssl/aes, keySize 32, ivlength 16
14:37:17 (Interface.cpp:117) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
14:37:17 (SSL_Cipher.cpp:335) allocated cipher ssl/aes, keySize 32, ivlength 16
14:37:17 (FileUtils.cpp:1542) useStdin: 0
EncFS Password: 
14:37:22 (Interface.cpp:117) checking if ssl/aes(3:0:2) implements ssl/aes(3:0:0)
14:37:22 (SSL_Cipher.cpp:335) allocated cipher ssl/aes, keySize 32, ivlength 16
14:37:24 (FileUtils.cpp:1550) cipher key size = 52
14:37:24 (Interface.cpp:117) checking if nameio/block(4:0:2) implements nameio/block(3:0:0)
14:37:24 (MACFileIO.cpp:71) fs block size = 1024, macBytes = 8, randBytes = 0
14:37:24 (FileNode.cpp:116) calling setIV on (null)
14:37:24 (RawFileIO.cpp:164) getAttr error on .local/uWX6wZAqMvH5RDRMW5oIb67F8V6CoVXYZPwUf6bHbu1Ms0: No such file or directory
14:37:24 (CipherFileIO.cpp:94) in setIV, current IV = 0, new IV = 11696676665880040319, fileIV = 0
14:37:24 (DirNode.cpp:641) created FileNode for .local/uWX6wZAqMvH5RDRMW5oIb67F8V6CoVXYZPwUf6bHbu1Ms0
14:37:24 (encfs.cpp:133) getattr .local/uWX6wZAqMvH5RDRMW5oIb67F8V6CoVXYZPwUf6bHbu1Ms0
14:37:24 (RawFileIO.cpp:164) getAttr error on .local/uWX6wZAqMvH5RDRMW5oIb67F8V6CoVXYZPwUf6bHbu1Ms0: No such file or directory
14:37:24 (encfs.cpp:136) getattr error: No such file or directory
14:37:24 (MACFileIO.cpp:71) fs block size = 1024, macBytes = 8, randBytes = 0
14:37:24 (FileNode.cpp:116) calling setIV on (null)
14:37:24 (RawFileIO.cpp:164) getAttr error on .local/kbZ-jP1BAg0-VpqtlMjAKr9F: No such file or directory
14:37:24 (CipherFileIO.cpp:94) in setIV, current IV = 0, new IV = 17358762804478769995, fileIV = 0
14:37:24 (DirNode.cpp:641) created FileNode for .local/kbZ-jP1BAg0-VpqtlMjAKr9F
(continues like that...)
ein Benutzer
quelle

Antworten:

1

Ich habe diese Art von Fehlern schon einmal gesehen, als ich EncFS und eCryptFS ausprobiert habe, aber ich konnte mich nicht genau erinnern, wo ich sie bis jetzt gesehen hatte. Es lag daran, dass keine Berechtigung zum Lesen oder Auflisten von Dateien im Verzeichnis vorhanden war (Verzeichnisse müssen xdie Berechtigung zum Ausführen haben, um Dateien aufzulisten), und ich denke, dass dies auch mit einem Entschlüsselungsfehler geschehen sein könnte.

Ich hatte zuvor einige Probleme mit Berechtigungen in eingehängten / entschlüsselten Dateien. Sie schienen nur die Berechtigungen der verschlüsselten Datei wiederzugeben (EncFS-Manpage nennt sie "rootdir"), und das Ändern der gemounteten / entschlüsselten Dateien schien nicht zu funktionieren. Vielleicht sind der Besitzer und die Berechtigungen für die "rootdir" / verschlüsselten Dateien nicht korrekt? Versuchen Sie, die Berechtigungen "rootdir" / encrypted so zu ändern, dass Ihr Benutzer darauf zugreifen kann (rwx?).

Ich dachte, root sollte in der Lage sein, alles zu lesen, egal was passiert ... aber encfs benötigt kein sudo, um ausgeführt zu werden, und ich habe einen Test mit einem einzelnen verschlüsselten Ordner versucht secret, der den Mountpoint entschlüsselt hat, openund dasselbe passierte:

$ ls -go
total 0
drwxr-xr-x 2 80 Nov 11 00:14 open
drwxr-xr-x 2 80 Nov 11 00:14 secret

$ sudo ls -go
ls: cannot access open: Permission denied
total 0
d????????? ?  ?            ? open
drwxr-xr-x 2 80 Nov 11 00:14 secret

Oder vielleicht entschlüsselt es die Dateien nicht richtig. Wenn Sie eine gute Sicherung der Daten haben, wäre das großartig.


Ich denke, das Upgrade von 14.10 auf 15.10 könnte dafür verantwortlich sein. Manchmal funktioniert es nicht immer gut, eine neuere Version mit alten Daten zu verwenden.

Die encfsPaketversionen, die ich auf http://packages.ubuntu.com/ finden kann, sind derzeit:
in wily (15.10) ist Version 1.8.1-3
in vivid (15.04) ist Version 1.7.4-5
in 14.10 ist es nicht auf der Webseite mehr, war wahrscheinlich 1.7.4 ...
in Trusty (14.04LTS) ist Version 1.7.4-2.4ubuntu2

Oder die .encfs6.xml"Konfigurationsdatei" ist möglicherweise irgendwie beschädigt. Der Versuch, eine Sicherungskopie davon zu verwenden, könnte funktionieren. man encfshat einige Details, aber es sieht so aus, als hätte es immer noch Verweise auf Version 5.

Ich würde versuchen, in der Reihenfolge der Präferenz:

  1. Ändern Sie die Berechtigungen der verschlüsselten Ordner / Dateien, damit Ihr Benutzer sie alle lesen kann (und führen Sie die Ordner aus, um Dateien aufzulisten).
  2. Versuchen Sie eine Sicherungskopie der Konfigurationsdatei ( .encfs6.xml) mit einem Befehl ähnlich dem Folgenden :

    ENCFS6_CONFIG=/home/me/.encfs6.xml encfs /encryptedDir /decryptedDir
    
  3. Stellen Sie die Daten von einem guten Backup wieder her und beginnen Sie mit einem neuen encfs-Ordner / Setup mit den neuesten encfs.
  4. Versuchen Sie, eine ältere Version von encfs zum Mounten des Ordners zu verwenden, möglicherweise mit einem Live-14.04LTS

Wenn es keine HD-Fehler gibt (siehe Syslog und vielleicht sogar die SMART-Daten), würde ich die HD nicht sofort vermuten.

Xen2050
quelle
Vielen Dank, zum Glück habe ich vor dem Upgrade ein Backup erstellt. Es ist seltsam, dass meine neue Installation das Backup ohne Probleme auf der externen Festplatte mounten kann. Aber ich werde versuchen mit einer 14.04 Live CD zu mounten und schauen, ob ich alles zum Laufen bringen kann.
Einige Benutzer
1
Hmmm, wenn das Backup grundsätzlich identisch war, ist vielleicht etwas mit der .encfs6.xml"config" -Datei passiert . Wenn es sich um eine identische / gespiegelte Sicherung handelt, sind die ..encfs6.xmlDateien identisch? Oder der Besitzer & Berechtigungen für die "rootdir" / verschlüsselten Dateien sind nicht lesbar? Ich hatte zuvor einige Probleme mit Berechtigungen. Sie scheinen nur die Stamm- / verschlüsselte Datei wiederzugeben. Das Ändern der gemounteten / entschlüsselten Dateien schien nicht zu funktionieren. Ich werde die Antwort ein wenig bearbeiten.
Xen2050
vielen Dank! :) Mit deinem Tipp habe ich mir erstmal den eigentlichen verschlüsselten Ordner angeschaut, nicht den gemounteten unverschlüsselt (blöd weiß ich). Die .encfs6.xml sind identisch, aber die Berechtigungen für Unterordner waren unterschiedlich. Nachdem ich diese 777 geändert hatte, waren sie sofort wieder lesbar. Ich habe den verschlüsselten Ordner mit rsync -avP nach dem Upgrade von Lubuntu wieder auf die Festplatte kopiert, aber anscheinend haben sich die Berechtigungen immer noch geändert. Nochmals vielen Dank! :)
einige Benutzer