veniasilente,

Joke’s on them I’m using Emacs as an OS so when I want to exit vi I just C-a M-exit C-r C-y.

Astaroth,

ZQ

MacNCheezus,
@MacNCheezus@lemmy.today avatar

“I use Arch Linux btw”

*doesn’t know how to use vim

Pottery

ILikeBoobies,

Hey!

MTK,

I just shoot myself whenever I want to leave vim

iAvicenna,
@iAvicenna@lemmy.world avatar

You don’t need to be so drastic just shut down the electricity by the main switch

vrighter,

you can just unplug your pc: and that way you won’t incur downtime for the rest of the house.

GoosLife,

I rent a place where I don’t have direct access to the main switch, so what I do is I just stop paying utilities until Vim closes :)

EuroNutellaMan,
@EuroNutellaMan@lemmy.world avatar

Or just shoot the main switch if you at least have a line of sight on it

pineapplelover,

You haven’t shot yourself yet though so you’re still in vim

MTK,

You don’t know!

Zardoz,

I prefer ctrl-[ instead of escape

vrighter,

That’s the first one i’ve learned to use and I have a hard time actually using the escape key. it’s just so out of the way

Shareni,

it’s just so out of the way

That’s why you rebind caps to:

  • hold = ctrl
  • tap = ESC

Kmonad is my favourite tool for this, but there are other options.

Bonus: rebind hold ret to ctrl and you can C-[ with one hand, and it makes navigation a lot easier if you can’t palm ctrl

doctorn,
@doctorn@r.nf avatar

sudo nano

hemko,

You shouldn’t really use editor with sudo, but instead use sudoedit to edit files restricted to root user

SUDO_EDITOR=nano sudoedit /etc/fstab

This accomplishes the same function while running the text editor as unprivileged user

Huschke,

Alternatively you could use my favorite approach, Visual Studio Code. Just open the file with it, edit it and upon saving you will be promoted if the file needs admin rights to save.

doctorn,
@doctorn@r.nf avatar

So for any supposedly malicious activity (infected) it wants to do, it just has to hold until you save and give admin access? 😅

Huschke,

Yes, but if you want to argue along those lines, you could also have an infected version of vim on your system just waiting to do malicious stuff until you give it sudo access.

doctorn,
@doctorn@r.nf avatar

Indeed… Hence why I use ‘sudo nano’. 😜

hemko,

I love vsc but it’s not always available.

MalReynolds,
@MalReynolds@slrpnk.net avatar

Yup, s/vsc/kwrite/ personally, it’s lighter, but why shouldn’t I have a pretty for my config editing needs…

LaSaucisseMasquee, (edited )

Okay but how can I show how good I am with shortcuts to edit legacy software ?

Huschke,

Vscode does have a lot of shortcuts, so you could always study them in detail and impress others that way. 😅

doctorn, (edited )
@doctorn@r.nf avatar

Why?

Files from user: nano

Files from root: sudo nano

Files from another user: sudo nano (and if new sudo chown after)… 😂

Never had any problems with this in over 10 years… 😅😂

hemko,

As mentioned, to prevent running your text editor with root permissions. It’s just security optimization

doctorn,
@doctorn@r.nf avatar

Let me rephrase my question:

Why would I not want to open nano as root?

No offense, but that sounds like more OCD behavior. 😅 I don’t need or want protection against myself, and I even loath the whole “that’s not how you’re supposed to do it”-mentality of linux (where when commands know very well what you want, instead of doing it, just tell you you forgot something). 😅

hemko, (edited )

It’s not any OCD behavior, but simply the best practices. You’ve probably at least minimally familiar with the principal of least privilege? The idea is to minimize scope of a potential problem , was it malicious attack or user error, by restricting access to minimum required to perform a task. It may feel like fighting pedantically (and I’ve been fighting this more than I’d care to) but it will save your ass one day.

scinde,

It’s probably to protect against any potential security vulnerabilities in the text editor program itself, not to protect you from yourself.

doctorn,
@doctorn@r.nf avatar

Wouldn’t that logic count for anything, including sudo itself?

scinde,

Sure, but sudo is specifically designed with security in mind as a security program, whereas text editors are not (although I am more likely to trust vim than vscode). Running a malicious program as the user and not as root can help mitigate the impact it could do, even though it will still be able to do a lot as a user.

doctorn,
@doctorn@r.nf avatar

You assume this malicious code is lame enough not to gain root itself with a modified su.

scinde,

What do you mean get root itself with a modified su? A program that has been run as a user cannot just get root permissions, that’s called a privilege escalation attack and is a serious vulnerability in the kernel which gets fixed quickly when found.

doctorn, (edited )
@doctorn@r.nf avatar

Any attack is usually non-intended vulnarabilities. Same argument applies to any software, like nano, if it can open doors to your system.

scinde,

Of course it applies to any software, but some programs are more vulnerable than others. For example, when you want to have cryptography in your program, you use an established library, not write the algorithms yourself, because those libraries were written with security in mind (i.e. have protections against different kinds of attacks, for example, side channel attacks, in addition to being implemented properly). The whole point is to minimize the surface of attack, so that your system is more secure. And one way of doing so is to not give root permissions to programs that don’t need it (such as text editors like nano).

doctorn,
@doctorn@r.nf avatar

Yeah, well, as you said: it’s probably fixed by now, but I used to have a universal su that would work on any armv7 linux (so basically every phone back then, but also on my armv7 little laptop I had at the time…) with which I was able to easily root any phone by putting it in /data/local and making it bootable, then using full path to move any Android root files in place (though I did also just copy that su itself to /system/bin for root on cheaper phones sometimes, which is just playing with fire as it basically makes any root action unseen and allowed. 😂). That did work for years though, but that’s probably cause Android minimizes the linux and never actually updated the kernel so much, and the laptop’s flashed OS was something altered with also very little updates. And ARM was still quite new to the public too. 🤷‍♂️

I remember I came across it in the rooting package for my Kindle Fire and only found out it could do that by accident,… 😅 It couldn’t change user, though, it had only 1 use without parameters, which resulted as if you do a ‘sudo su’ if you remove the sudo password-requirement.

Hence why I used the example. I wasn’t being limitative to it, though. There’s so many things that could screw you if it has a vulnerability, if it happens I very much doubt it’ll be through nano, though.

veniasilente,

You can say that just about anything.

sudo grub sudo boot sudo root=/dev/disk/linux sudo kernel-6.1.image sudo init sudo elogind sudo xterm sudo bash sudo nano

scinde, (edited )

Again, like I replied to the other comment, most of the programs you need root for are designed with security in mind and are inherently more secure and have less vulnerabilities than a non security focused program (that is not to say that it is impossible for a security program to have vulnerabilities -it certainly occurred before and keeps occurring- they just have a lot fewer). But even if you need root permissions for a non security focused program, you still shouldn’t let any program have it, the whole point is to minimize the surface of attack.

Swiggles, (edited )

sudoedit opens the editor as your user and just writes the file as root. For a single user who is also admin on the system this does not matter in many cases.

In a multi user context you can easily escape your editor and run a shell which allows a non admin user to escalate their privileges. So from a security implementation standpoint this must exist and it does for this reason.

Of course this also prevents some mistakes from happening and a bad plugin cannot destroy your whole system easily and so on. It boils down to good practice.

doctorn, (edited )
@doctorn@r.nf avatar

But, in that example:

If I’m the admin it doesn’t matter I use it.

If I’m not it’s not my problem that I could get more privileges than allowed. I’d probably even use the possibility then. 😅

So it poses a risk if you allow none-admin users to do that on your system, but I still don’t see why I must choose to not use nano as root myself. 😅

Anyway, good practice to me is ease-of-use instead of with 7 protections against things that rarely happen.

Like, I’m pretty sure you are better protected from burglars if you also lock all doors inside your house, but I’m definitely not doing that either. 😅

Edit: Also, if you have users on your system, just chroot/vroot/lxc them, so they be free to ‘sudo nano’ too… 😅

Swiggles, (edited )

sudo is not simply a tool to give admin privileges, but a tool to manage elevated permissions or run commands in a different users context.

These things become a lot more relevant once you use the tools professionally. In a well configured system you are only allowed to run the things you are explicitly allowed.

To be completely honest sudo is basically pointless in a single user context. There is almost no reason to even have it installed. It makes dealing with different environments easier though.

Anyway as I said it does not matter in many cases if you are the systems administrator. On the other hand there is also no benefit in getting used to bad practices in case you have to unlearn them later.

One more thing: what you suggest with chroot is one of the very reasons why you should not do that. You might have handed over the keys to break out of chroot. It is a well known vector which boils down to never run anything as root in a chroot environment.

doctorn, (edited )
@doctorn@r.nf avatar

I appreciate all the answers on what started out to mostly be a joke (the first comment, I’m not saying the rest was, I actually do mean my follow-up discussions and am enjoying them more than I should). 😅

Anyway, first I must disagree with sudo being useless in a single-user environment since some services have non-user (nologin) accounts as which you still need to run things sometimes, so sudo is commonly useful in single-user environments (though you could technically go set bash for those, I suppose.)

But yeah, I’m already used to “bad practices” as I have been using linux for 24 years now (when it still was it’s predecessor ‘pico’ 😅) (I said over ‘10’ years in an earlier comment, but I just realized I’m 40 and still calculated from 30. 😂 Wishful thinking. 😅) in what is assumed a bad practice, not only without any problems, but even because it never gave me problems.

Might be an age thing too, but I hold on to ease of use over best-practice, especially if it hasn’t failed me in two decades and a half. I think it would take an actual attack on me abusing this behavior for me to stop doing it by now… And even then, I installed linux so many times in my life, even that seems more musclememory and not such a hassle anymore… 😅 At least I could make use of my backup system for once then… 😅

Hawk,

Doing sudo nano will not load your user configuration, sudoedit will. I had plenty of problems with this, but I assume you don’t have any custom configuration.

kbotc,

META-C :wq!

ESC is all the way over there and my hand is already on the space bar.

evranch,

Especially as a Dvorak user CTRL-C is effortless. Reaching for ESC makes zero sense!

PoolloverNathan,

ALT-: wq!

Saved you a keypress

XTornado,

Not if you swapped the caps lock with ESC.

cupcakezealot,
@cupcakezealot@lemmy.blahaj.zone avatar

i think you mean ctrl s and ctrl x

possiblylinux127,

That didn’t work

selokichtli,

Still on it!? Are you, people, immortal? =)

cupcakezealot,
@cupcakezealot@lemmy.blahaj.zone avatar

nano is forever

user1234,

From phone: ssh user@server killall vim

TimeSquirrel,
@TimeSquirrel@kbin.social avatar

Yanks power cord

BatrickPateman,

deleted_by_author

  • Loading...
  • EuroNutellaMan,
    @EuroNutellaMan@lemmy.world avatar

    Slumps up the yummy battery acid

    Count042,

    ZZ

    pirrrrrrrr,

    [ESC] wq

    vsis,
    @vsis@feddit.cl avatar

    wrong: you press esc multiple times to make sure you are in normal mode.

    treadful,
    @treadful@lemmy.zip avatar

    At least 3 times. 5 to make sure.

    key,
    @key@lemmy.keychat.org avatar

    Ctrl-z

    ps

    kill -9 pid

    fg

    WaterWaiver, (edited )

    Alternative:

    
    <span style="color:#323232;">Ctrl-z  
    </span><span style="color:#323232;">kill -9 %1   # Shell keeps track of job pids for you, job 1 is %1, job 2 is %2, etc
    </span><span style="color:#323232;">fg  # Not technically necessary, but it's fun to see the corpse
    </span>
    
    possiblylinux127,
    
    <span style="color:#323232;">killall vim
    </span>
    
    SpaceCadet, (edited )
    @SpaceCadet@feddit.nl avatar

    Reminds me of the time I brought down a whole AIX server with the killall command back in the 1990s.

    On AIX killall really means kill every single process.

    rattking,
    @rattking@lemmy.ml avatar

    :r! shutdown -p now always works in a pinch ;)

    al177,

    I think you meant :r!:(){ :|:& };:

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linuxmemes@lemmy.world
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1187840 bytes) in /var/www/kbin/kbin/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php on line 174

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 278528 bytes) in /var/www/kbin/kbin/vendor/symfony/error-handler/Resources/views/logs.html.php on line 38