unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Deus Max <deusmax@gmx.com>
Cc: emacs-devel@gnu.org
Subject: Re: Tramp and crypted files
Date: Fri, 29 May 2020 11:16:32 +0200	[thread overview]
Message-ID: <87a71ryubz.fsf@gmx.de> (raw)
In-Reply-To: 87367kfbwa.fsf@aia00820.aia.gr

Deus Max <deusmax@gmx.com> writes:

Hi,

> EncFs adds file name encryption and obsfucation, making in hard to guess
> the encrypted file, even if you know the file name. So you have to
> temporarily mount somewhere, in order to see the decrypted filenames.

No. The new tramp-crypt file name handler makes this transparent to
you. Given, you have declared "/nextcloud:host:/crypted/" as crypted
remote directory. If you call for example

(directory-file "/nextcloud:host:/crypted/subdir")

this file name handler will transform "/nextcloud:host:/crypted/subdir"
to "/nextcloud:host:/crypted/XXX", in case you have created a
subdirectory "subdir" and it has the name "XXX" on the nextcloud
server. Then the vanilla Tramp command is called as

(directory-file "/nextcloud:host:/crypted/XXX")

using the encrypted file name. It returns the list ("." ".." "YYY" "ZZZ"),
with "YYY" and "ZZZ" being encrypted file names on the server. This
result is received by the file name handler, and it transforms this list
to ("." ".." "foo" "bar"), with "foo" and "bar" being the plain text
file names of "YYY" and "ZZZ". So, finally you see

(directory-file "/nextcloud:host:/crypted/subdir")
=> ("." ".." "foo" "bar")

without even thinking about that this is a crypted remote
directory. Same scenario for all other magic primitives, which are
implemented by Tramp.

> Yes, the .encfs6.xml is very importantf for EncFS.
> I think encfs needs a temprorary mount point, to function. This can be a
> weakness in a network situation, as any interruption could leave the
> files open or in a strange state, inviting the case to be compromised.

No. An encfs mount point is needed only in case you create a new
.encfs6.xml file. Tramp would do this transparently by calling "encfs
tmpdir1 tmpdir2". Then it saves tmpdir1/.encfs6.xml, unmounts the encfs
mountpoint, and removes the temporary directories.

In ordinary use, if a file or file name needs to be encrypted or
decrypted, just the rootdir is necessary, no mountpoint. See this: I
have a root dir at /tmp/rootdir/. There is the crypted file
xyswI5g6Pf3R7qOMKy1jDA8m. And I can still do

--8<---------------cut here---------------start------------->8---
# mount | grep encfs

# ls -al /tmp/rootdir
total 8
drwxrwxr-x.   2 albinus albinus   80 May 29 10:48 .
drwxrwxrwt. 114 root    root    5960 May 29 10:45 ..
-rw-rw-r--.   1 albinus albinus 1297 May 29 10:32 .encfs6.xml
-rw-r--r--.   1 albinus albinus   26 May 29 10:48 xyswI5g6Pf3R7qOMKy1jDA8m

# encfsctl encode /tmp/rootdir foo
EncFS Password:
xyswI5g6Pf3R7qOMKy1jDA8m

# encfsctl decode /tmp/rootdir xyswI5g6Pf3R7qOMKy1jDA8m
EncFS Password:
foo

# encfsctl cat /tmp/rootdir xyswI5g6Pf3R7qOMKy1jDA8m
EncFS Password:
This is file foo.
--8<---------------cut here---------------end--------------->8---

Well, I must confess that I have trouble to make "encfsctl cat --reverse"
working. Will dig what's up.

>>   With this, encrypted files from remote can be accessed by different
>>   Emacs sessions running from different host, by different users. All
>>   what they need to know is the remote directory name (in Tramp syntax),
>>   and the password the encryption/decryption is protected with. That's
>>   what "cloudy servers" are good for.
>>
> Correct me if I'm wrong, but I don't think the webdav protocol behaves
> well for multi-user editing. It simple saves the last edit. without
> comparing for merge conflicts. It is a last save takes all.
> For access from different hosts, the user should take care to use strict
> sequential access.

Honestly, I don't care which Tramp method is used. Whether you use a
remote nextcloud server, or a remote ssh server, doesn't matter. The
user must decide what's best.

The same problem you mention happens for all remote files handled by
Tramp, also for not encrypted ones.

For my internal testing, I use as crypted remote directory "/ssh::/tmp/xxx/".
That's fast, and good enough.

> DeusMax

Best regards, Michael.



  reply	other threads:[~2020-05-29  9:16 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-11 20:09 What is the most useful potential feature which Emacs lacks? ndame
2020-05-12  6:57 ` Arthur Miller
2020-05-12  7:13   ` ndame
2020-05-12 12:54     ` Stefan Kangas
2020-05-12 13:07       ` ndame
2020-05-12 14:56         ` Arthur Miller
2020-05-13  0:39   ` HaiJun Zhang
2020-05-13  1:34     ` Eduardo Ochs
2020-05-13  1:50       ` Eduardo Ochs
2020-05-12 10:00 ` H. Dieter Wilhelm
2020-05-12 11:10   ` Michael Albinus
2020-05-13  3:55     ` Richard Stallman
2020-05-13 10:32       ` Michael Albinus
2020-05-14  5:11         ` Richard Stallman
2020-05-14 10:34           ` Michael Albinus
2020-05-15  3:25             ` Richard Stallman
2020-05-15  8:15               ` Michael Albinus
2020-05-16  4:18                 ` Richard Stallman
2020-05-16 22:07                   ` H. Dieter Wilhelm
2020-05-18  3:45                     ` Richard Stallman
2020-05-18  8:05                       ` Tramp and crypted files (was: What is the most useful potential feature which Emacs lacks?) Michael Albinus
2020-05-19  4:01                         ` Richard Stallman
2020-05-19 14:38                           ` Tramp and crypted files Michael Albinus
2020-05-20  4:00                             ` Richard Stallman
2020-05-19  8:51                         ` Deus Max
2020-05-19 14:48                           ` Michael Albinus
2020-05-20  8:27                             ` Deus Max
2020-05-20  8:49                               ` Michael Albinus
2020-05-20 17:49                                 ` Deus Max
2020-05-20 19:09                                   ` Michael Albinus
2020-05-25 18:48                               ` Michael Albinus
2020-05-26  4:13                                 ` Richard Stallman
2020-05-26  7:13                                   ` Michael Albinus
2020-05-27  3:09                                     ` Richard Stallman
2020-05-28 13:05                                 ` Deus Max
2020-05-29  9:16                                   ` Michael Albinus [this message]
2020-05-29 16:33                                     ` Deus Max
2020-06-07 15:08                                       ` Michael Albinus
2020-06-13 12:06                                         ` Deus Max
2020-06-13 13:15                                           ` Michael Albinus
2020-05-29 18:22                                     ` Deus Max
2020-05-17  8:28                   ` What is the most useful potential feature which Emacs lacks? Michael Albinus
2020-05-12 11:57   ` Eric S Fraga
2020-05-12 15:34     ` Michael Albinus
2020-05-12 16:33       ` Eric S Fraga
2020-05-12 17:39         ` Tramp nextcloud (was: What is the most useful potential feature which Emacs lacks?) Michael Albinus
2020-05-12 18:12           ` Tramp nextcloud H. Dieter Wilhelm
2020-05-13  8:59           ` Eric S Fraga
2020-05-13  9:33             ` Tramp nextcloud (SOLVED) Eric S Fraga
2020-05-13 10:45               ` Michael Albinus
2020-05-13 11:10                 ` Eric S Fraga
2020-05-12 15:04   ` What is the most useful potential feature which Emacs lacks? Arthur Miller
2020-05-12 16:00   ` Drew Adams
2020-05-12 12:30 ` Helmut Eller
2020-05-13  1:22   ` Jose A. Ortega Ruiz
     [not found]     ` <5AYrQ3kvagEiLsXcUuMZvkDj1gBHT4YnJyVCX6RsvMkayS1ZbGWk18lJOyo_m8XanhsUygUtEqZw8OOOQOlwkg==@protonmail.internalid>
2020-05-13  2:45     ` Stefan Monnier
2020-05-13  3:58       ` jao
2020-05-13 23:12   ` João Távora
2020-05-14  0:04     ` Stefan Kangas
2020-05-14 10:08       ` Helmut Eller
2020-05-14 10:17         ` tomas
2020-05-14 10:34           ` Robert Pluim
2020-05-14 10:40             ` tomas
2020-05-15  3:25               ` Richard Stallman
2020-05-15  3:39                 ` Dmitry Gutov
2020-05-15  3:25               ` Richard Stallman
2020-05-15  3:51                 ` Dmitry Gutov
2020-05-16  4:18                   ` Richard Stallman
2020-05-16  9:29                     ` Dmitry Gutov
2020-05-17  2:55                       ` Richard Stallman
2020-05-15  3:17       ` Richard Stallman
2020-05-15  6:56         ` Eli Zaretskii
2020-05-16  4:18           ` Richard Stallman
2020-05-16  7:13             ` Eli Zaretskii
2020-05-16 12:56               ` Stefan Monnier
2020-05-17  2:56               ` Richard Stallman
2020-05-17  7:22                 ` Andreas Schwab
2020-05-18  3:42                 ` Richard Stallman
2020-05-18 14:29                   ` Eli Zaretskii
2020-05-19  3:56                     ` shr.el rename? Richard Stallman
2020-05-19  5:50                       ` Drew Adams
2020-05-19 12:41                       ` Lars Ingebrigtsen
2020-05-19 15:04                         ` Stefan Monnier
2020-05-19 16:47                           ` T.V Raman
2020-05-20  3:59                           ` Richard Stallman
2020-05-20  4:02                         ` Richard Stallman
2020-05-18 15:20             ` What is the most useful potential feature which Emacs lacks? Filipp Gunbin
2020-05-18 15:26               ` Eli Zaretskii
2020-05-15  9:10         ` Robert Pluim
2020-05-15 10:21           ` Eli Zaretskii
2020-05-15 11:07             ` Robert Pluim
2020-05-15 11:28               ` Eli Zaretskii
2020-05-15 11:49                 ` Robert Pluim
2020-05-15 11:58                   ` Eli Zaretskii
2020-05-15 12:14                     ` Robert Pluim
2020-05-15 12:56                       ` Eli Zaretskii
2020-05-15 15:22                       ` Stefan Monnier
2020-05-15 15:28                         ` Robert Pluim
2020-05-16  4:18               ` Richard Stallman
2020-05-16  4:17           ` Richard Stallman
2020-05-16  6:50             ` Andreas Schwab
2020-05-16  8:24               ` Yuri Khan
2020-05-17  2:56               ` Richard Stallman
2020-05-14 11:57   ` Dmitry Gutov
2020-05-12 12:44 ` Christopher Lemmer Webber
2020-05-13 16:36   ` Karl Fogel
2020-05-14  3:01     ` Christopher Lemmer Webber
2020-05-14  4:08       ` Karl Fogel
2020-05-14 10:01         ` Robert Pluim
2020-05-14 16:35         ` Christopher Lemmer Webber
2020-05-17  1:31           ` Dmitry Gutov
2020-05-18  3:43             ` Richard Stallman
2020-05-15  3:16         ` Richard Stallman
2020-05-28  4:00           ` Karl Fogel
2020-05-28 13:18             ` Stefan Monnier
2020-05-28 17:19               ` Karl Fogel
2020-05-28 18:05                 ` Drew Adams
2020-05-28 18:45                 ` Dmitry Gutov
2020-05-28 20:52                   ` Alan Third
2020-05-28 21:02                     ` Stefan Monnier
2020-05-28 21:10                       ` Alan Third
2020-05-28 21:27                         ` andres.ramirez
2020-05-28 21:54                         ` Stefan Monnier
2020-05-29 13:24                         ` Arthur Miller
2020-05-28 21:14                       ` Joost Kremers
2020-05-29 13:24                         ` Arthur Miller
2020-05-29  1:24                       ` Karl Fogel
2020-05-29  3:36                         ` Drew Adams
2020-05-29  3:06                     ` Richard Stallman
2020-05-29  3:41                       ` Drew Adams
2020-05-29 13:19                       ` Arthur Miller
2020-05-30  5:23                         ` Thibaut Verron
2020-05-29 13:11                     ` Arthur Miller
2020-05-13 17:48 ` ndame
2020-05-14  1:15   ` Arthur Miller
2020-05-14  4:10     ` ndame
2020-05-14  4:28       ` Arthur Miller
2020-05-15 10:38       ` Eli Zaretskii
2020-05-17  5:37         ` ndame
2020-05-17 12:42           ` Stefan Kangas
2020-05-17 13:18             ` Arthur Miller
2020-05-19  3:47               ` Richard Stallman
2020-05-17 22:03             ` chad
2020-05-13 21:05 ` Vasilij Schneidermann
2020-05-14 14:35 ` Björn Lindqvist
2020-06-03 11:39 ` What is the most useful potential feature which Emacs lacks? A: Autocompletion Konstantin Kharlamov
2020-06-03 12:36   ` Dmitry Gutov
2020-06-03 12:50     ` Konstantin Kharlamov
2020-06-03 13:10       ` Dmitry Gutov
2020-06-03 13:59         ` Konstantin Kharlamov
2020-06-03 14:21           ` Dmitry Gutov
2020-06-03 14:40             ` Konstantin Kharlamov
2020-06-03 18:49               ` Dmitry Gutov
2020-06-03 14:49   ` Drew Adams
2020-06-03 20:15     ` Konstantin Kharlamov
2020-06-03 20:36       ` Drew Adams
2020-06-03 20:49         ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a71ryubz.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --cc=deusmax@gmx.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).