-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Socket file location is not according to FHS #250
Comments
Hello! The first reason we choosed
I believe that would work? That would need changes in The path to the socket is not configurable and is hardcoded so that clients can always expect the socket to be at that location. That may change in the future. I have some questions for you 😃 :
|
Hi, I'll chip in a question as well: |
I raised similar issues when I worked on the parsec Yocto layer. But, I cannot find how this discussion ended. (BTW in the yocto layer parsec service init script I used /etc/parsec directory for config files). Using /tmp directory is just strange from Linux administration point of view. Using standard directories would simply help sysadmins to quicker find details and troubleshoot issues if necessary.
|
Right, sorry for linking to the FHS 2.3, that's just the one the Fedora packaging documentation points to and that's always the way I find it 😄.
|
In dealing with it in Fedora I put the binary in /usr/libexec, set the home to /var/lib/parsec, the config to /etc/parsec |
Thanks for the explanation of why I would agree putting the socket in
Using If we go ahead with this, this would need change in Parsec repo and in the documentation (updating the secure deployment guide mainly). As @anta5010 we might need ways to have config options for local testing/CI as well. Regarding the |
That all makes sense. I think we need to make a decision now and change it before things are widely deployed. |
These suggestions look good to me. 😄 Another point against using I think using Just my $0.02! 😄 |
Looks like we should switch to In the interests of keeping all issues and PR's "small", I would suggest just changing the default for now. We'll need to announce the change and check that it won't cause issues for people, assuming that we're just going to do it as a "lockstep" change (ie. just change the code in the service and the client to use a different path, and not try to cater for situations where the service and the client are updated at different times such that only one is aware of the change). |
Keeping persistent data in /var/lib/parsec is reasonable. But, data used only while running (in addition to the socket file) would be better kept in /var/run/parsec instead of the current working directory I think. |
I believe that, except for the socket file, all the data that we use while running in Parsec needs to be persisted. Sometimes though data is a little bit of both: for example you can create a key and destroy it before Parsec is shut down, in that case would it be better to save information for that key in If we decide to go with the changes described in my previous comment, the changes are not that big, it is mostly about:
(Also note that with #200 the Unix Peer Credentials authenticator is now in and similar changes to related to its deployment needs to be addressed via #249. If we wanted, we could address all those issues together, or, depending on the urgency of this, just address this present one.) |
I think data like created keys should be kept in /var/lib/parsec even if keys could be deleted before parsec is stopped.
|
I would campaign for addressing just this specific issue for now. I would also campaign for a very precise specification for the behavioural change, so that the impact can be clearly understood. For instance:
Is that a correct and complete statement? |
I believe this is all correct. I think this point:
can be expanded into:
We can provide instructions on how to uninstall in the same book page where the new instructions are written. |
I have done most of the changes with the PR linked above. This is passing in CI and I tested the secure installation steps on my Fedora 32 machine. To all interested parties: I would appreciate your review on the following specific changes:
For the The installation instructions are very verbose and would definitely gain some scripting. However, I would prefer to do that as a later step as I don't think it will be as easy as it looks to produce a good quality installation script. |
👍 On these changes, thanks! |
LGTM, thanks. |
Great, thanks! Just published new versions: |
parsec/src/front/domain_socket.rs
Line 22 in b5e4760
/tmp/parsec/parsec.sock
.However, according to the Filesystem Hierarchy Standard v2.3, the correct location for pid files and socket files is
/var/run/
(System programs that maintain transient UNIX-domain sockets must place them in this directory.
), with possibly an application-level folder if it has multiple files.Could this perhaps get fixed, and maybe made configurable?
The text was updated successfully, but these errors were encountered: