mikelolasagasti / revelation

Revelation is a password manager for the GNOME desktop, released under the GNU GPL license. It stores all your accounts and passwords in a single, secure place, and gives you access to it through a user-friendly graphical interface.
https://revelation.olasagasti.info
GNU General Public License v2.0
55 stars 24 forks source link

[flatpak] Can't save password-file in Ubuntu 20.04 #76

Open dabra opened 3 years ago

dabra commented 3 years ago

Overview

Thanks for developing this again, i had it running in an 18.04 VM and found it in the official repos of Ubuntu this week. I copied the password-file from the VM to my personal folder and started it and most works really fine, but i can't save any changes to my password-file.

Steps to Reproduce

  1. open revelation in Ubuntu 20.04
  2. open a password file (in my case it's simply /home/daniel/password)
  3. it does not open the "real" file, but something like /run/user/1000/doc/89364593/password is opened
  4. try to safe any changes to your password file
  5. error message appears (roughly translated from German): file can not be saved, check your rights

Expected Behavior

saving changes should be possible

Actual Behavior

in all Versions before Ubuntu 20.04 the actual password file was opened and could be saved without problems, i'm not sure, if the problem comes from using /run/user/.../file, but this is my first guess...

there is also another problem with opening this /run/user/.../file: if you set it in the preferences as "open at start" it will not be found after you restarted your system

Context

Revelation - 0.5.4 (installed via official repo)

Operating System: Ubuntu 20.04.1 Desktop Env: Gnome 3.36.3 Window Manager: X11

mikelolasagasti commented 3 years ago

With installed via official repo you mean you built it from GitHub, used the Flatpak version or is there a Ubuntu package I'm not aware of?

dabra commented 3 years ago

i simply used the software store gui, so i guess it got installed using flatpak, i'll add a screenshot Selection_614

dabra commented 3 years ago

i made one more simple test, because i thought maybe the problem was my old file from the VM and created a new file in revelation. the file password_test could be created and shown in revelation as /run/user/.../password_safe and also appears in my "real" personal folder. when i close revelation and open it again, i can load the file and the test data is shown, but i can't save any new entries to it, i get the same error message as with my old file

the rights in the folder look like that:

daniel@thinkpad:~$ ls -lh password* -rw-rw-r-- 1 daniel daniel 27K Nov 10 02:20 password -rw------- 1 daniel daniel 25K Mai 13 2020 password_safe -rw------- 1 daniel daniel 276 Nov 13 14:29 password_test

daniel@thinkpad:/run/user/1000/doc/966d4948$ ls -lh password* -rw------- 1 daniel daniel 276 Nov 13 14:29 password_test

daniel@thinkpad:/run/user/1000/doc/90c1312c$ ls -lh password* -rw-rw-r-- 1 daniel daniel 27K Nov 10 02:20 password

mikelolasagasti commented 3 years ago

Thanks for adding more details @dabra

You're using the Flatpak version (Quelle: dl.flathub.org), I'll try to reproduce it later.

The Flatpak version runs in a sandbox and a portal is used to access files from $HOME.

mikelolasagasti commented 3 years ago

I'm not able to reproduce the issue.

ls -l /home/mikel/rvl/flatpak-open-test.rvl 
-rw-------. 1 mikel mikel 484 dic  6 18:31 /home/mikel/rvl/flatpak-open-test.rvl

Open revelation running flatpak run info.olasagasti.revelation. It complains that my default faile to open during startup is not available, as flatpak doesn't have direct access to my $home.

Open the file, enter password, add a new entry and safe it. It reports that file has been opened from or saved to /run/user/1000/doc/5dd2724a/flatpak-open-test.rvl

dabra commented 3 years ago

i also tested it with flatpak run but sadly it does not work for me... is there any more information, i can give you to help figure this out? or is there any chance to find some kind of trick / workaround to this problem?

my current "solution" is to open Revelation in my Ubuntu 18.04-VM, edit and save the real file there, when i add new Entries, than close the VM an open Revelation on my "real" desktop (Ubuntu 20.04) to get read-access to my passwords...

maybe i should deinstall the flatpak version and install it in another way? is there a deb-File to install? then it would open the "real" password file, correct? like it was in the versions before 20.04...

thanks for your work!

DarianAnjuhal commented 3 years ago

Hi, I have the same issue on Linux Mint 20 I generated a new password file Cannot save file: /run/user/1000/doc/e78d3742/test.rvl Let me know if you need further informations.

Does it help if I compile revelation by my self?

Thank you and bye Darian

mikelolasagasti commented 3 years ago

Building and installing by yourself would avoid the Flatpak sandbox issue you may be experiencing.

Ubuntu package is available for hirsute or 21.04, I don't know if this pckage can be installed in 20.04 or Mint-20. I'm trying to create a ppa meantime but launchpad doesn't allow me to login.

Meanwhile I'll try to setup a Ubuntu/Mint VM and see if I can reproduce it.

daniel-larraz commented 3 years ago

@DarianAnjuhal, I can confirm that building and installing from sources avoids the issue on Ubuntu 20.04.1

dabra commented 3 years ago

ok, it's actually intended and pretty easy to solve: https://wiki.ubuntuusers.de/Flatpak/#Berechtigungen-fuer-Ordner-hinzufuegen sorry for the German link...

flatpak packages need rights to folders given by the user, one line solved the problem for me: sudo flatpak override --filesystem=/home/daniel info.olasagasti.revelation

of course you need to adapt the line to the path, where your revelation-files are and maybe it's more secure to create a separate folder for it, so it could look like this: sudo flatpak override --filesystem=/home/$USER/revelation info.olasagasti.revelation

ariadacapo commented 3 years ago

The flatpak override command does not solve the problem for me. Upon attempting to save, Revelation still outputs "The file '/run/user/1000/doc/414fe0d4/access' could not be opened for writing. Make sure that you have the proper permissions to write to it."

dabra commented 3 years ago

worked for me... maybe your filepath was wrong? or in other systems it works different? i'm using Ubuntu 20.04

ariadacapo commented 3 years ago

After the flatpak override command, saving a newly-created file in the whitelisted folder works. But saving changes to an opened file from that folder does not work for me (Pop!_OS 20.04, Revelation 0.5.4).

iotaele commented 2 years ago

worked for me... maybe your filepath was wrong? or in other systems it works different? i'm using Ubuntu 20.04

Worked here too. Linux Mint 20 with Cinnamon.

barnos01 commented 2 years ago

Overview

Thanks for developing this again, i had it running in an 18.04 VM and found it in the official repos of Ubuntu this week. I copied the password-file from the VM to my personal folder and started it and most works really fine, but i can't save any changes to my password-file.

Steps to Reproduce

  1. open revelation in Ubuntu 20.04
  2. open a password file (in my case it's simply /home/daniel/password)
  3. it does not open the "real" file, but something like /run/user/1000/doc/89364593/password is opened
  4. try to safe any changes to your password file
  5. error message appears (roughly translated from German): file can not be saved, check your rights

Expected Behavior

saving changes should be possible

Actual Behavior

in all Versions before Ubuntu 20.04 the actual password file was opened and could be saved without problems, i'm not sure, if the problem comes from using /run/user/.../file, but this is my first guess...

there is also another problem with opening this /run/user/.../file: if you set it in the preferences as "open at start" it will not be found after you restarted your system

Context

Revelation - 0.5.4 (installed via official repo)

Operating System: Ubuntu 20.04.1 Desktop Env: Gnome 3.36.3 Window Manager: X11

ok, it's actually intended and pretty easy to solve: https://wiki.ubuntuusers.de/Flatpak/#Berechtigungen-fuer-Ordner-hinzufuegen sorry for the German link...

flatpak packages need rights to folders given by the user, one line solved the problem for me: sudo flatpak override --filesystem=/home/daniel info.olasagasti.revelation

of course you need to adapt the line to the path, where your revelation-files are and maybe it's more secure to create a separate folder for it, so it could look like this: sudo flatpak override --filesystem=/home/$USER/revelation info.olasagasti.revelation

Worked here (Mint 20), thank you! 1) create a new folder (pc / not pen drive) 2) copy the password file to this folder 3) use command "override" using my path to file.

The app revelation is excelent, since the passwords stay offline, with no cloud, no internet login, with simple interface and a lot of space to write observations.