6 ms·
sudo makes sense as a name, but it is worth noting that it hurts the original projects. Famously, the curl project receives tonnes of issues and support reques
by petterroea 6mo ago
sudo makes sense as a name, but it is worth noting that it hurts the original projects.
Famously, the curl project receives tonnes of issues and support requests from people who run `curl` in PowerShell, not knowing it is an alias meant for convenience instead of the actual curl command[1].
Sudo for windows is already relatively old and doesn't seem to have been adopted much, but my prediction is that adoption would mean people would complain on forums that commands they found on the internet don't work. "Why wouldnt it? I have sudo?". Then people will have to explain to them that "No you do not have sudo, you have the windows version of sudo, which is not real sudo" and it will confuse.
When it comes to tools, I strongly believe naming things similarly to concepts the user already knows is a disservice to the user. This isn't UX for your mom and pop, it is a tool to perform a job, and learners get confused when suddenly the same thing isn't actually the same thing at all. It is mislearning, and I would argue almost anyone who does mentoring has seen this in action.
[1]: https://daniel.haxx.se/blog/2016/08/19/removing-the-powershell-curl-alias/ https://daniel.haxx.se/blog/2016/08/19/removing-the-powershe...
- steve1977 6mo ago> sudo makes sense as a name It doesn't though. There is no concept of a singular superuser like there is on UNIX. On Windows you have Administrator, but that is a role that can be assigned to any user. And Administrators do not have full power, that would be the SYSTEM user. Which you cannot switch to with Sudo for Windows however - but you can with the runas tool, which has been around for decades.
- vbezhenar 6mo agoMinor nitpick, but there's not necessarily a single super user in UNIX. You can create multiple users with uid=0 and they all will be super users.
- ButlerianJihad 6mo agoBut they all have the same UID, and are technically "the same user", even if you foolishly confer disparate usernames and passwords on them. When the system reverse-maps their UID it will display "root" because there is, ultimately, only one superuser on Unix. The situation is the same for any userid and any groupid. If you try creating three ordinary users with a UID of 3005, they will be, essentially, the same user. There is no way at the system level to differentiate them, after they have authenticated. Because their files and processes are owned by the same UID. This sharing of UIDs is generally discouraged and quite undesirable. It makes systems administration a real mess.
- man8alexd 6mo agoThere is an old practice of having an alternative `toor` user with UID=0, with a different shell and password, in case someone screws the primary `root` account. https://en.wikipedia.org/wiki/Toor_(Unix) https://en.wikipedia.org/wiki/Toor_(Unix)
- steve1977 6mo agoSee sibling reply. The uid is what defines the user, the name is just a convenient alias.
- vbezhenar 6mo agoNot really. You can have separate users with separate $HOME, separate passwords, separate groups, separate everything. User is user. Uid is uid. It's not the same. Uid is used for file permissions, that's true.
- ButlerianJihad 6mo agoIf you try and set up "separate users" with "separate $HOME" that map to the same UID, all those "users" will "own" all those same files, and all processes started by one another. They would be able to kill processes, delete/modify/add files, impersonate one another. Because they are the same user. You would be unable to enforce quotas or privacy for any of them. Whatever they did on the system would be indistinguishable, because their process UIDs would be identical. Any files they created would be owned the same. Sure, set them up with unique lists of GIDs; it really doesn't matter in the end. I have no idea what you mean "User is user", but you are right: UID is not the same as a username. The username exists only in the passwd(5) database, and not in the kernel, like at all. The kernel has no idea what usernames are, and that's why they're irrelevant to user administration.
- tracker1 6mo agoNiggle: "su" from "sudo" is for substitute/switch user in the su command, not "super" at all. By default the user being switched to in su is root/uid:0. There's no such thing as "Super User" in context usage.
- steve1977 6mo agoThe historical and original meaning was superuser do and superuser is absolutely a thing in UNIX. See here from the guy who invented it: https://hackaday.com/2014/05/28/interview-inventing-the-unix-sudo-command/ https://hackaday.com/2014/05/28/interview-inventing-the-unix... and here https://www.youtube.com/watch?v=LaAwl3HN5ds https://www.youtube.com/watch?v=LaAwl3HN5ds (from around 4:30 minutes... "do a superuser thing") Also the "su" command originally stood for "superuser": https://web.archive.org/web/20220317213155/https://www.bell-labs.com/usr/dmr/www/man13.pdf https://web.archive.org/web/20220317213155/https://www.bell-... (UNIX manual from 1971) "su allows one to become the super—user, who has all sorts of marvelous powers"
- Pay08 6mo ago> Famously, the curl project receives tonnes of issues and support requests from people who run `curl` in PowerShell, not knowing it is an alias meant for convenience instead of the actual curl command[1]. Well, that explains a lot of the issues I was running into a few weeks ago...
- petterroea 6mo agoI, for one, have had to explain to Juniors multiple times that WSL isn't Linux, and why it's no replacement for Linux. Happens almost every time they try to do anything more advanced than a WSL hello world, and it inevitably fails. I still let them try, because it beats me having to check "is wsl good now", and they learn much better from personal experience than someone more senior who uses arch btw just telling them "don't use windows"
- StableAlkyne 6mo agoInteresting, I've been using it with zero issues (including performance) for several years now. Compiled stuff, ran scientific calculations, trained neural nets with GPU passthrough, even switched over a workload from an old Red hat box to WSL Alma. Only weirdness has been systemd can sometimes be quirky, and GUI stuff can be glitchy (which doesn't affect me much, because 99% of what I do is in the terminal) So, anecdotally it is perfectly adequate for workloads beyond a Hello World. What issues are you running into?
- petterroea 6mo agoMostly its related to filesystem and permissions. Interface between windows and Linux, and mismatch in how the two work. Compute etc is fine!
- yread 6mo agoYeah its best to avoid using the windows filesystem for anything else but a source of cp -r
- pjmlp 6mo agoHardly any different from mounting UNIX filesystems that don't obey exactly the same semantics.
- tracker1 6mo ago/mnt/c etc from within WSL, and access to Linux FS paths are effectively a plan-9 file share service... Beyond this, if you use Docker Desktop (or similar) with volumes on the host OS (Windows or Mac) it's a weird FS sync between the host and container environment)... if you do volumes in WSL2 inside a Linux/WSL environjment it works fine (normally). Permissions between Windows and Unix are always (generally) a mismatch, as is the nature of OS differences.
- justsomehnguy 6mo ago>> Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.[0] Between that quote and "You can't fix stupid" I always choose the one about circus. *nix fanboys were totes fine with wget and ls being an aliases in PowerShell for years but when they found out what PS is coming to Linux they made a biggest stink. It didn't even mattered what 99.999% of the scripts which utilized that call were the simple 'get file' and nothing more. [0] https://en.wikiquote.org/wiki/Rick_Cook#The_Wizardry_Compiled_(1989) https://en.wikiquote.org/wiki/Rick_Cook#The_Wizardry_Compile...
- jborean93 6mo ago> *nix fanboys were totes fine with wget and ls being an aliases in PowerShell for years but when they found out what PS is coming to Linux they made a biggest stink The curl and wget aliases don’t exist on the PowerShell 7 version which is the cross platform one. Only the old powershell.exe builtin to Windows has these aliases and it’s worse today because curl.exe is builtin and the curl alias takes priority when you run just curl.
- justsomehnguy 6mo agoThanks, I'm with PS since v1.0. > Only the old powershell.exe builtin to Windows It's "Windows PowerShell" which would be forever v5.1 and "PowerShell" is v7+. (we don't talk about "PowerShell Core") > builtin and the curl alias takes priority when you run just curl Yes, but again if somebody didn't bother to read the docs, read the output (it's very evident when you have some PS error vs. everything else - and people STILL don't bother to try to understand) and start bitching on the forums... see my previous comment. And by the way: it was established quite early what the use of an aliases in the written code should be frowned upon, exactly for the reason what the aliases aren't stable and could be local. Aliases are the quick way when you are slapping something interactively in the CLI. So wget/curl were added for the benefit of those *nix fanboys who needed something better than cmd.exe on Windows so they could start using PS faster and later adopt to a proper ways but instead of reading the docs they only rose the stink.
- boomlinde 6mo agoHopefully these aliases will be renamed to "Copilot-Sudo" and "Copilot-Curl" soon enough.
- dainank 6mo agoMaybe `wudo`? Windows Sudo!
- miroljub 6mo agoOr 'mudo', Microsoft sudo. With the added benefit of having appropriate meaning in some slavic languages.
- leeman2016 6mo agoHow about ms-sudo/mssudo and ms-curl/mscurl
- freedomben 6mo agoI like the name MS-DOS. MicroSoft DO Superuser
- al_borland 6mo agoIf sudo stands for “superuser do”, and on Windows they call this user an “Administrator”. It stands to reason they should call it `audo`. Though this would be confusing, as people would pronounce it like “adieu”, which would make it sound like an alias for `logoff`.
- NekkoDroid 6mo ago> It stands to reason they should call it `audo`. "Administrator" doesn't contain a "u". `addo`/`ado` both would make more sense and flows better off the tongue.
- 6mo ago
- pletnes 6mo agoThe curl alias in powershell is not compatible so it is an inconvenience. Must be one of the worst decisions to make it into windows, which is saying a lot.
- al_borland 6mo agoMost of the aliases are for convenience when working in an interactive shell, which will generally be dealing with more basic functions of a command. For scripting it is best practice to use the full commandlet names.
- pletnes 6mo agoBrowsers let me copy-paste curl commands from developer tools. These don’t work with windows «curl». I know a few flags of curl too. These also don’t generally work with «curl».
- NekkoDroid 6mo agoThe worst part is that Windows does ship cURL as a binary at `C:\Windows\System32\curl.exe` (may be dependent on some optional feature, dunno). Nowadays it does invoke this for me on my system, but I don't remember if I did something for this to be the case.
- fainpul 6mo agoIf you're on Windows, run this once: 'Remove-Alias curl, wget' >> $PROFILE Now please stop whining about these stupid aliases.
- petterroea 6mo agoThis feels like a very dishonest take because the problem being discussed is clearly beginners being confused. How does your solution scale to the problem at hand?
- fainpul 6mo agoOf course it doesn't help if a beginner doesn't understand why their curl command fails. I wrote this half in jest, because everytime PowerShell comes up, people like to Bash it for its stupid aliases on Windows. Yes these aliases are really stupid, but if you are using PS on Linux, it's not an issue and if you are on Windows, you just remove those aliases and continue living your life. Some examples from this discussion: > The curl alias in powershell is not compatible so it is an inconvenience. > *nix fanboys were totes fine with wget and ls being an aliases in PowerShell for years but when they found out what PS is coming to Linux they made a biggest stink. > Only the old powershell.exe builtin to Windows has these aliases and it’s worse today because curl.exe is builtin and the curl alias takes priority when you run just curl. > It's wget for Windows all over again > Ah yes, the 'curl' alias in powershell, vs the 'curl.exe' binary that uses the traditional options.
- tracker1 6mo agoAnd thus, I mostly use git's msys bash in my work Windows machine(s).
- tpoacher 6mo agoIndeed. This is the "Embrace" stage.
- pjmlp 6mo ago> Sudo for windows is already relatively old and doesn't seem to have been adopted much,... Because probably this was pushed due to meet some OKRs ("made an impact"). It adds nothing over runas, other than being a known name to folks educated in UNIX. Which is hardly of any benefit, given that Windows is not UNIX.
- tjarjoura 6mo agoIt seems like this adds much tighter integration between the caller and callee processes used named pipes and RPC communication, such as being able to share input/output streams within the same terminal session, which is a significant value add compared to runas.exe.
- 1718627440 6mo agoThere is more than one sudo implementation though and the configuration can be already different. Also I don't think you accidentally forget whether you are in a POSIX or a CMD shell.