-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Provide install method which doesn't require root #1671
Comments
I agree that this is an important issue, but in the meantime:
|
Would be nice to have rpm package as well. |
As a separate mitigation, you can use software like firejail to constrain which files a program can access as well as what other permissions it has. I use this to constrain almost all of my often-used programs. Just a thought. |
Thank you but once root privileges have been granted to something the system has to be regarded as compromised. Putting it into a sandbox afterwards does not revert that. |
The only time you're granting root privileges is to the package manager though, not Signal itself (Signal doesn't run any post-install scripts beyond doing a simple ln (which you can verify by opening up the deb in e.g. emacs and examining control.tar.gz/postinst)). And you can set it up so that Signal never has root access when running (that's one of the features of firejail, among many others). I agree with the goal of this issue, to provide a way to install Signal without needing root. But I think you're wrong on some of the specific claims you're making. It is technically true that the package manager could spawn Signal itself (i.e. if Signal launched itself through the postinst script). But that's an easy thing to verify before installing (as I just did). Worst case, you could probably even run aptitude itself in a sandbox, only granting it access to certain directories (that would probably be a pain to deal with though). And once you've installed it, you can constrain it on all runs using firejail or other similar technology/software. So no, I don't think you're ever giving Signal root anymore than any other application has access to root while it's running outside of a sandbox. Hell, your browser could technically get root, since it has access to the Just another note as well. The whole point of the repository system is that you trust the third-party repositories you add. That is implicit. This is one of the main reasons virtually all advice dealing with third-party repositories is "Don't be an idiot". There is, of course, another way around this: get Signal into the main repositories. That would require a maintainer and whatnot - I'm not quite sure about the details, but this should have some more info. I'm fairly certain the process would be similar for other apt-based distributions. |
Thank you. How can I validate that this is indeed the URL of the latest, stable package? |
That URL doesn't work anymore anyway :( |
This will always tell you the latest production version: https://updates.signal.org/desktop/latest.yml This will always tell you the latest beta version: https://updates.signal.org/desktop/beta.yml |
Thank you. |
@leo-bogert Yep. The auto-update mechanism built into the product is only enabled for OSX and Windows. If you really want to be on the latest all the time, you might consider installing the development version and just pulling down the latest changes via git periodically. Dev version install instructions are here: https://github.com/signalapp/Signal-Desktop/blob/development/CONTRIBUTING.md |
On Linux you require your users to add your Apt repository to their system configuration.
This allows you to execute code with root privileges during package installation, e.g. in the most simple case through maintainer scripts which always execute as root.
You could also replace all other packages on user systems by providing alternatives of them on your repository.
It may also happen that law enforcement agencies force you to add a trojan horse to your packages. Then not only Signal is compromised but everything else on the users' machines.
I'm thankful for the existence of Signal but I don't think it qualifies for root privileges at all. It's bleeding edge software built from a large zoo of bleeding edge experimental web frameworks, each of which executing who knows how much code during installation or compilation or downloading stuff from all over the Internet in an unsigned fashion during their build.
The privilege of being installed from a repository should be reserved to packages which have passed my distribution's review procedure and became part of the official repositories.
Thus please provide a plain tarball which contains the Signal binaries and can be "installed" merely by unzipping as any low privileged user.
Thank you! :)
The text was updated successfully, but these errors were encountered: