I never had problems with permission again after I know the real power of sudo
I never had problems with permission again after I know the real power of sudo
I never had problems with permission again after I know the real power of sudo
You're viewing a single thread.
You mean sudoedit
right? Right?
edit:
While there's a little bit of attention on this I also want to beg you to stop doing sudo su -
and start doing sudo -i
you know who you are <3
Why memorize a different command? I assume sudoedit
just looks up the system's EDITOR environment variable and uses that. Is there any other benefit?
Why memorize a different command? I assume sudoedit just looks up the system’s EDITOR environment variable and uses that. Is there any other benefit?
I don't use it, but, sudoedit
is a little more complicated than that.
tldr: it makes a copy of the file-to-be-edited in a temp directory, owned by you, and then runs your $EDITOR
as your normal user (so, with your normal editor config)
note that sudo also includes a similar command which is specifically for editing /etc/sudoers
, called visudo
🤪
visudo is a life-saver since it adds some checks to prevent you from breaking your sudo configuration and locking you out of your system.
It doesn't edit the file directly, it creates a temp file that replaces the file when saving. It means that the editor is run as the user, not as root.
So it opens the file in your editor, since you have read access to it. Then saves your changes to a temp file. Then when you close the editor it does a sudo mv tmpfile readfile?
I checked this by checking the file ownership when running touch myself
. The file is owned by root. sudo nano myself
also creates a file owned by root. sudoedit myself
removed at me not to run it in a writable directory.
sudoedit: myself: editing files in a writable directory is not permitted
So I ran it in a non-writable directory and the resulting file is still owned by root.
So is the advantage of sudoedit
preventing a possible escalation of privileges situation?
For me personally the advantage is that since the editor is opened by your user, it has all of the same config that I'm used to (such as my souped up Neovim config).
Whereas if you sudo nvim /path/to/file
then the editor is opened as root and you don't have the same configuration.
That's a pretty big advantage actually. Thanks!
I just make /root/.config/nvim
a symlink to ~/.config/nvim
and running nvim
as root gives me all the same settings I'm used to. (I'd rather not run nvim-qt
as root though, so in that case sudoedit
is useful.)
Yes, and it also lets me use my neovim config.
From the arch wiki
sudo -e {file}
Set SUDO_EDITOR in your profile to the editor of your choice, benefit is it retains your user profile for that editor, it's also less to type. For stuff like editing sudoers you're supposed to use visudo to edit that. Others can probably give better/more thorough reasons to consider it.
I know this is a meme community, but a modicum of effort IS warranted IMO. https://superuser.com/questions/785187/sudoedit-why-use-it-over-sudo-vi is the top result of a search for "why use sudoedit" and a pretty good answer. "man sudoedit" also explains it pretty well, as shown by another commenter.
Hey, even memes can lead to learning opportunities!
Correct but it uses the SUDO_EDITOR environment variable. The benefit is more security while editing system files, it creates a temporary file and when you finish it writes changes to the original. There is more to it but that is all I know, it prevents some exploits.