GNU bug report logs -
#41628
[PATCH] Allow emacsclient to connect to other user's socket when using -s
Previous Next
Reported by: rabite <at> posteo.de
Date: Sun, 31 May 2020 15:30:02 UTC
Severity: normal
Tags: patch, wontfix
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Since commit 5c0d8bb95bbd5354e6b2cd2e56a91afe4e780759 emacsclient won't
connect to my usual emacs session when run as root. I use this all the
time to edit files, combined with "-T /sudo:root <at> localhost" to handle
permissions. Using a separate emacs process would be unpractical as it
would require setting up a whole new emacs configuration and keeping it
in sync with my main one. I think this is a common use-case for those
who have an emacs-server running all the time and supporting it makes a
lot of sense. In principle I see no reason emacsclient should refuse a
connection that is possible in theory.
It looks like this "feature" has been explicitly disabled, maybe because
it might triggered unintentionally if running su doesn't set USER or
something?. So I propose a new approach to allow root emacsclient to
connect to non-root emacs servers: If the user sets a socket file
explicitly using the -s switch, the socket_status() function skips the
uid check and returns without error as long as the call to stat was
successful. Generally, this would allow any user to connect to any emacs
server as long as the permissions allow it. If not, it shows the
"connect: Permission denied" message, if the socket file is reachable at
all, that is.
I added a tiny patch that implements this change. If necessary, I'd be
willing to expand on it, or even implement a different approach
depending on how much work/complicated it would be.
[0001-allow-sockets-with-different-uid-if-set-explicitly.patch~ (text/x-diff, attachment)]
This bug report was last modified 4 years and 292 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.