6 ms·
JuNest is what made our department computers usable for me. With it, I could run my favorite TeX editor (we don't have root access on these machines). On a phi
by romwell 9y ago
JuNest is what made our department computers usable for me. With it, I could run my favorite TeX editor (we don't have root access on these machines).
On a philosophical note, I second vortico's question of why common Linux distros require root access to be at all usable. In particular, how did it come to not being able to install a package without sudo?
I could download something, compile it, and run it, but not install from a package. It doesn't make sense to me. If I can run it, I should be able to "install" it locally, whatever the word "install" means (obviously, it wouldn't mean writing to directories to which I don't have access otherwise).
JuNest simply proves this point.
- 0x8BADF00D 9y agoIt's only certain package managers. For instance, pkgsrc and portage don't require root access.
- infinisil 9y agoNix also doesn't
- romwell 9y agoThe "certain package managers" happen to be "every single package manager I've encounter on a system I don't own". I'll be content in knowing the history of "apt-get install" requiring sudo. There's is this thread, but I don't understand how nobody in charge of anything ever figured this all of that this design is bollocks if you want to have true multi-tenancy on a system.
- jhasse 9y ago> In particular, how did it come to not being able to install a package without sudo? You can on Fedora via `pkcon install <pkg>`.
- abrowne 9y agoWon't that just bring up a system (polkit?) password dialog (so no sudo, but you still need an admin password)?
- Spivak 9y agoYou can configure polkit rules to allow unprivileged users to install packages. It will, for example, ask for the user's password. But this doesn't really solve the issue of allowing unprivileged users to install software from the package managers just for them.
- jhasse 9y agoNot for signed packages, see https://www.reddit.com/r/Fedora/comments/574jmg/potential_bug_installing_without_root/d8p4w1e/ https://www.reddit.com/r/Fedora/comments/574jmg/potential_bu...
- abrowne 9y agoInteresting/weird/scary
- Spivak 9y agoThat's just leveraging polkit rather than sudo. It still requires delegated root access. The parent is asking why an unprivileged user can't run yum install --user <pkg> And have the package expand in, say, ~/.local
- jhasse 9y ago> It still requires delegated root access. Not sure what you mean by that exactly, but the user doesn't need to enter his password or root's for signed packages. See https://www.reddit.com/r/Fedora/comments/574jmg/potential_bug_installing_without_root/d8p4w1e/ https://www.reddit.com/r/Fedora/comments/574jmg/potential_bu...
- yebyen 9y agoYou can also set up sudo so that it does not require your password for certain commands, that does not mean you are not still getting root to do a thing that requires root permissions. It sounds like it has been made relatively "safer" but, the comment you linked says that it's the author's opinion it is a bad idea, because the user is doing something they are not allowed to undo. So you are getting root access, via policy. Why do you need root access when you could just write the package contents out to a directory you control, and run them without any signatures or policy? (Or even with verifying signatures, why not I guess...) I'm not asking you personally for a position on this, I'm just explaining how it's different... you are still taking root, only through a safety wrapper. The advantages to this that I can see are 1) the user is encouraged to install signed packages, and 2) the sysadmin is empowered to keep the user's installed packages up-to-date. Those are maybe compelling, but I don't see major advantages. Give me something like rvm+bundler and I'll be a lot happier. (I don't really want sysadmin to have powers to do things that I can't undo, either!)
- jhasse 9y ago> You can also set up sudo so that it does not require your password for certain commands, that does not mean you are not still getting root to do a thing that requires root permissions. The difference is, that this is configured by default on Fedora. > Why do you need root access when you could just write the package contents out to a directory you control, and run them without any signatures or policy? Because applications have their paths hard-coded all over the place. Also some packages (e. g. webservers running on port 80) wouldn't work without root anyway.
- peterwwillis 9y agoThe confusion comes from a basic misunderstanding most users have about distros and packages. A Linux distribution package is software ready for you to use. It contains static, "pre-installed" software and configuration, and only performs certain actions that your system can't simply read from a file (like adding a user or group). Everything else in the package is exactly the way it should be to "just work". Changing where the files go would require more complex decisions to make everything "just work". So because we can't change where the files go, any old user can't install it, because that would mean the possibility of overwriting files not owned by that user, or system files. So you need to put the files in privileged locations, but not allow the user to change where that goes. 'sudo' allows this to happen. But why do we even need to type 'sudo' if your [desktop] user will always be capable of running some command with 'sudo' anyway? Because sometimes, someone or some thing other than you will try to run a command as root, and you should be the only person that authorizes that. Requiring the command, and the command requiring a password to run, is the simplest way to do this. All JuNest is doing is putting an entire copy of a Linux distribution in your home directory, so everything is owned by you. There are no privileged files, but more importantly, if you hose the files, you can just re-install JuNest. If you hosed your main machine, you'd have to reinstall your machine.
- romwell 9y ago>Changing where the files go would require more complex decisions to make everything "just work". Since when things "just working" has been a core design philosophy of *nix systems? Also, you do realize that the end result is that the things that should work just don't? In my opinion, it's a design failure that [download the source - unpack - configure - make - make install] is a viable path to get something to work, but [yum install]" is not.
- leeoniya 9y ago> On a philosophical note, I second vortico's question of why common Linux distros require root access to be at all usable. In particular, how did it come to not being able to install a package without sudo? Previously: http://adamierymenko.com/privileged-ports-are-causing-climate-change/ http://adamierymenko.com/privileged-ports-are-causing-climat... https://news.ycombinator.com/item?id=14712576 https://news.ycombinator.com/item?id=14712576 TLDR; "You probably just realized that without the privileged ports restriction everything meaningful on a Unix system would not have to run as root and you could at the very least do a much better job of securing system services."
- romwell 9y agoThank you! This is the sole comment in the thread that answers the question I was asking. Also from the article: >Wait... sudo? Giving sudo rights means you might as well not have separate users at all. >Bollocks! ...and how we got there is was my question. Still, there's more mystery. Privileged ports can't explain why the user has to jump through the hoops for software that doesn't need to bind itself to ports. So, how did it come to packages requiring sudo in most distros?