Has there been any scenario where a Linux user had a command fail where they didn't immediately attempt the exact same thing again with a sudo in front?
From an experienced user: yes! I know which commands are likely to need root, but I'm not 100% sure about a few. So, I do sometimes try a command without sudo, before I try it with. Furthermore, I know which commands are likely to cause persistent modifications to my system. For the novice, this can obviously be more difficult.
Fortunately, some newer Linux filesystems have snapshotting features, which is like an instantaneous backup of your filesystem. This allows one to be a bit more adventurous, as long as you don't break it too badly and you actually know how to revert to a recent snapshot.
Linux GUIs are also better than they used to be, but I'm too old-school to follow these developments closely. The biggest problem is they tend to be too dumbed-down. However, a lot of things that would previously force users onto the commandline no longer do. Thank goodness I never have to fight with X Windows config, for instance.
For people who really do need that kind of protection from themselves, why make them retype the entire command every time instead of a single character "Are you sure Y/N"..
Um, what are you talking about? You can just hit the up arrow and edit the commandline to insert "sudo" at the front.
And asking "are you sure" doesn't confirm either that the user has the authority to execute admin commands or do anything to confirm the user's identity. "sudo" is really a way of granting elevated priviliges to a set of users, but it can also restrict the types of operations to which this applies. So, you want to confirm the identity of the user and it needs to know to which command it's being applied.
That's what always bothers with me linux, it deliberately uses the hardest and slowest ways of forcing users into its philosophy.
No, Multics was the hardest way of doing things. UNIX was designed as a simpler alternative.
; )
But I will agree with you on one small point, which is that UNIX was designed for a multi-user environment, where you also have a knowledgeable administrator. Sometimes, the multi-user baggage gets in the way. However, Windows has this too, as well as the idea of a super user.
Unless of course there actually is a way to use sudo through the GUI.
A lot of GUI-based administrative programs
will pop up an authentication dialog, when you need to do something requiring admin privileges.
Is this really that big of a concern for most Raspberry Pi projects? There's (a lot) of better options for surfing the web or as a normal desktop environment. I mostly see single-use offline hardware projects and retropie boxes with limited/no interaction with the terminal to get things running.
In the age of cyber crime and cyber terrorism, even IoT cannot afford to skimp on security.
I would agree that many projects could do with a thinner, lighter OS, but that would simultaneously render the machine unsuitable for desktop-style use. So, a full-blown OS is definitely called for by the range of uses that the Pi Foundation sought to address.
But why would you ever go back to running as a normal user, when that's the problem in the first place?
See points #1 and #2, in my previous post.
Another reason would be on a system shared by multiple users - if you start using root for everything, you risk a scenario where you start messing up permissions and ownership on things, eventually forcing everyone to use root. At that point, it becomes a shared, single-user system and you might as well go back and use DOS and Windows 3.1.
Sometimes, I even make a dedicated account for certain automated processes. This is actually pretty standard practice, as you can see by reviewing all of the accounts on your system (hint: look at /etc/passwd).
Anyways, I get it, Linux devs want to keep things overly difficult/slow/complicated to keep the normies out.
It sounds to me like you're extrapolating far too much from one bad experience.
I'd agree that Linux usage is not always smooth sailing, but then I am something of a power user.
Something to keep in mind is that Android/ChromeOS are Linux-based. Macs are BSD-based. Microsoft is moving closer and closer to Linux, every year. Google, Facebook, and Amazon all use Linux. IBM bought Redhat. Many governments are now using Linux. They must know something, eh?