onedrived-dev icon indicating copy to clipboard operation
onedrived-dev copied to clipboard

Daemon fails to start because Keyring requires extra password

Open Graf17 opened this issue 8 years ago • 7 comments

Hi!

First of all thanks for the development of this useful piece of software. :-)

But I do have a problem, when I try to start the daemon with

onedrived start

A second after starting I get:

Starting onedrived ... FAILED ERROR: Child exited immediately with exit code 127

When I start it with

onedrived start --debug

it's asking me for the keyring password. So, I assume, that when I try to start the daemon without --debug it's trying to get the password too?

Are there any additional logfiles to check, what's really going on?

Thanks for any support.

Regards, Andreas

Graf17 avatar Feb 18 '17 18:02 Graf17

Daemon mode and debug mode basically do the same except that daemon mode redirects output to log while debug mode prints to stdout. If keyring asks for password in debug mode it should do the same in daemon mode.

All sensitive credentials / tokens are stored in keyring when you authorize accounts using onedrived-pref and every time onedrived runs it needs to recover the credentials / tokens from there in order to access OneDrive API on your behalf.

My reference distro is Xubuntu 16.04 and haven't encountered this situation yet. What desktop environment are you using? Is it prompting for password in cmdline (For now I don't have any idea how to automatically and securely feed the process this important password) or does a new window pop up?

xybu avatar Feb 18 '17 19:02 xybu

I just noticed that on my Kubuntu machine kWallet will ask for password if it's different from my login password, but it pops up a new window.

xybu avatar Feb 18 '17 20:02 xybu

OK, I accidentally deleted my last comment. So, once again, (but different):

I have it running within a LXC-container with Debian Jessie on a Omnia Turris router with ARM architecture. So I have a very specific setup.

Still everything works fine, when I start it with --debug. The linux login password and the keyring password match.

When I start it, it looks like that:

root@file:~# onedrived start --debug Starting onedrived ... OK Please enter password for encrypted keyring:

Graf17 avatar Feb 19 '17 20:02 Graf17

And, to make it clear: I don't use any desktop environment at all on that machine. I have onedrived running on my fileserver.

Graf17 avatar Feb 19 '17 20:02 Graf17

@xybu do you have any thoughts on the best way to handle this? I'd be happy to give it a go and submit a PR.

alexhocksween avatar Jan 10 '18 13:01 alexhocksween

If it is helpful, I think I just made a tiny step towards getting it working in "headless" (no graphics/desktop) mode:

# Start the daemon, unlocking the default keyring
echo 'myPasswordIsASecret' | /usr/bin/gnome-keyring-daemon --login

# Start the service
onedrived start

Maybe not the best 😅 I don't know enough about authentication to decipher what appears to be the Gnome Keyring: Automatic Unlocking / PAM


$ gnome-keyring-daemon --version
gnome-keyring-daemon: 3.28.2
testing: enabled

jakebrinkmann avatar Jan 25 '19 21:01 jakebrinkmann

Hi there

I have the same issues but get error... Try everything but doesnt work...

echo 'password' | /usr/bin/gnome-keyring-daemon --login GNOME_KEYRING_CONTROL=/root/.cache/keyring-W3I9ZZ pve01:~# onedrived start Starting onedrived ... FAILED ERROR: Child exited immediately with exit code 127 pve01:~# onedrived start --debug Starting onedrived ... OK Please enter password for encrypted keyring: [2019-04-12 12:40:09,971] INFO: MainThread: Shutting down. Code: Terminated by SIGINT (2). [2019-04-12 12:40:09,974] INFO: MainThread: Shut down complete. [2019-04-12 12:40:10,008] DEBUG: Dummy-1: Close <_UnixSelectorEventLoop running=False closed=False debug=True> All children are gone. Parent is exiting...

gilbertoferreira avatar Apr 12 '19 15:04 gilbertoferreira