Apps shouldn’t be able to read my entire hard drive unless I give it permission. And the core OS should be immutable.
Also not sure what you’re talking about. Custom mouse drivers of course still work.
I had Firefox, Thunderbird, Pidgin and a few others running in complete isolation from the base system, and from each other. I even had a separate Firefox jail that was only allowed to get out via a Tor socks proxy to avoid leaks (more of an experiment than a necessity, to be fair).
Communication between jails was done via commonly mounted nullfs. I have also setup QoS via PF for each of them.
They were all running on the host’s Xorg, which was probably also the weakness of this setup.
It was a pretty sweet setup, but required quite a bit of effort to maintain, even tho I automated most of the stuff.
Now I use macOS, and I would like more control over what apps do what. I’m not particularly impressed with the direction of the UI (it also doesn’t bother me terribly), but I welcome the finer grained security control.
References:
[0]: https://en.wikipedia.org/wiki/FreeBSD_jail
[1]: https://www.freebsd.org/cgi/man.cgi?query=jail&sektion=8&for...
For one thing: I always require certificate logins on SSH. On Mac I used to simply change /etc/ssh/sshd_config to this effect, but since Catalina macOS reverts this with every update. Clearly they don't want me poking around in there :(
IMO if you offer SSH you should offer certificate-only access as well, either with a glitzy on/off button or with a config file change, whatever. But nope...
With Apple you get a lot of security for 'free', however you give up a lot of customisation in return, even in terms of security features.
You can override it with a commandline flag but that would mean changing the launchdaemon which is protected by SIP as far as I know. But I will have a look for that to doublecheck.
Or maybe I'll attempt to contribute the important parts to an established project, like ezjail [0][1], which seems to be quite competent at handling jails, but is specialized on running services.
Refs:
[0]: http://erdgeist.org/arts/software/ezjail/
[1]: https://www-legacy.freebsd.org/doc/en_US.ISO8859-1/books/han...
The resistance to them seems to be largely due to lazy developers: it would be EASIER if the system let a developer do whatever they want with a “trust me, I’m smart” justification. But we can’t design for the occasional safe and smart developer: we need to design for the sloppy ones and the malicious ones. The smart and safe ones can find a way to work within the constraints. As for lazy and sloppy ones who can’t adapt to the constraints - adapt.
OS security is generally a shit show anyway. I don't think it's bad to lock down the OS for most users, but it should still be possible for expert users to get expert access.
If there are security consequences, they should be trusted to learn how to deal with them.
Most will - and the rest will have bad experiences.
Last I checked, it still is—IIRC, you have to run some specific commands in Recovery Mode to disable the protections, but for "trust me, I'm smart" developers, that shouldn't be a problem.
Personally, I haven't seen any particular need to do that. I can count the number of times I've been blocked by SIP from doing things I wanted to do on one hand, and none of them were critical.
Unix file access permissions designed 50 years ago for multi-user shells are not adequate when dealing with potentially hostile applications accessing your data.
Today I'm more worried of a random App encrypting $HOME or hoovering up all my PII.
Now if some people just give access to everything instead of using ACLs, that is another matter.
Also, actively circumvent protection devices is proof of malice and possibly even criminal intent (remember DMCA?) so I don't see your point.
I don’t think so.
I've been trying unsuccessfully to childproof a Big Sur laptop for a 12 year old for some time now — disable access to some built-in apps etc. I have yet to figure out how, without resorting to disable SIP.
There is Screentime, but that's an unreliable joke which has caused us a massive amount of headaches on iOS due to unreliability, has very limited features and can only be protected by a 4-digit PIN.
"Configuring which programs a restricted user can run" is _such_ an elementary task for an OS that I cannot believe that recent macOS has no provisions for that. I _must_ be missing something.
Now how do I turn off the dozens of daemons that go everywhere on the internet without my control, uploading telemetry, etc? I've still not figured out how.
I’m not saying it’s bad. More security is great! My kids use MacOS. I’m grateful for it. I love iOS too. But it’s absolutely dumbing the OS down and making it less of a professional machine.
- docker - you need to be able to bind any folder
- IDE - you need to be able to edit basically anything
- office software beyond "I have some things in 'Documents'" - same
- python, ruby, any other interpreter - same
- brew, or any other package manager - same
etc. This simply doesn't work well for many developer workflows. I tried to use a dedicated app for per-app security control like that (can't remember the name anymore) - but for development it was a disaster. It just makes you click "allow" on a popup 10 times a day until you stop paying attention. Now, macos is not at that level yet, but the direction towards that is the complaint usually.
Consider: An interpreter needs to run homebrew which installs new app, but the same interpreter running a script for your project should not read anything apart from those project files. Same interpreter needs to update local packages via bundle and git, but a random script you run shouldn't be able to access your ssh key via git commands. This is basically impossible to achieve without large compromises outside of selinux right now.
So how would you apply this principle to the python interpreter or to a program that gets compiled to a new executable many times during development?
I like the idea of granting folder permissions to regular third party apps I install and use. I always wanted that and I'm glad Apple is moving in this direction with the Mac.
But contrary to regular apps, language runtimes and software under development do not have a specific purpose. The whole point of software development is to create and test arbitrary code. It is pointless to grant privileges to code that changes in arbitrary ways with every keystroke.
During development, privileges have to be granted to the developer account, not to any particular software artifact. I generally think that granting privileges to software and granting privileges to people each has its legitimate place. One isn't generally better or worse than the other.
..and, office?! Do you keep spreadsheets in system folders?
I keep spreadsheets in project folders. Allowing full writes to a project folder allows taking over the shell. See above.
Folder-level permissions are not sufficient. Sorry, I shortened it too much, but basically - there's almost no practical difference between allowing writes to a dev project folder and allowing writes everywhere. (It would stop some really trivial attempts) Your actual system folders are safe of course... but who cares about those really?
This is actually a feature I wish Windows had. On Windows you can enable "protected folders" and mark folders as protected. Applications cannot access those folders until you grant it.
On Windows when granting an app permission to a protected folder you grant it access to all of your protected folders.
You cannot grant a specific application access to a specific folder only eg. grant VLC access to your video folder only but will have to grant VLC permission to all your protected folders. In the default configuration this includes all your personal documents.
I wish Microsoft would make the protected folder feature just as granular as I can hear it is an a mac.
I'm tired of granting every other app accessibility permissions for reasons I'm not even sure of, tired of having to grant access to my documents. It's just endless hassle and I don't feel like I'm actually safer. Every new version seems to bring something like this.
The important part is that system integrity protection can be disabled.
- scroll bars have been removed (but they can be enabled again), not sure when this happened, Catalina maybe?
- Ok/Cancel style dialog boxes are vertically stacked (since Big Sur)
- the completely intuitive "Save As..." action has been replaced with "Duplicate" (at least in Apple tools), no idea what's the reasoning behind this is TBH, this wouldn't make sense on iPhones either
- more vertical space wasted for window chrome since Big Sur, especially in the Finder
- "Natural Scrolling" (can also still be reversed thankfully)
- ...and probably a few more subtle changes which I don't care much about
I am a long-time Unix user, hardly an iOS user at risk of feeling lost on Macs, and while I have immediately turned back on my scroll bars, I was delighted by "natural scrolling," and I love that "Duplicate" makes it more clear that my documents are being auto-saved, as they should be.
These things aren't "dumbing down," they're just changes from the way things used to be. Some are better, some are worse, and both of those are opinions. I think labeling them as "dumbing down" and sneering dismissively at people who use iOS is unseemly, speaking of opinions.
Just to take one example, scroll bars were turned optional with default off -- a simpler UX that's in favor of less visible user interactions for the sake of reducing user complexity is usually considered dumbing down.
Now, in Apple Land, far behind the Reality Distortion Field, they may refer to the reduction of user interaction options as 'beautification' -- but everyone else usually just calls it 'simplification', which is often (diminutively, perhaps) referred to as 'dumbing down'.
(in reply to "scrollbars only disappear without a mouse" , so what? That's still a reduction in user-visible information -- do touch users somehow not need to be told that an active view can be scrolled by anything other than visual gestures and cues? It's a nice pipe-dream, indicative design, but there isn't any design standard that suggests that may be or even could be the case.)
tl;dr : when a user loses visible indications, and loses possible interactions, it's not uncommon to phrase the state as being 'dumbed down'.
But seriously: What you call "dumbing down" I'd mostly rather call "making peoples' lives easier".
If I had to guess, it's because Apple wants to remind you they already have your data in their cloud, so saving anything locally is creating a duplicate.
But yeah the waste of more vertical space in Big Sur was really surprising to me, considering Apple also tries to minimise it in other apps like Safari. Weird.
> scroll bars have been removed
Awesome! Less clutter. I only care about my position in a list or its length when I actually scroll.
> Ok/Cancel style dialog boxes are vertically stacked
Looks sightly weird, but it enlarges click targets and makes a crucial dialog easier to see and use. I guess that makes sense.
> more vertical space wasted for window chrome
I generally like the new style, but yeah, they went over board here 1/3 or 1/4 less height would be about optimal.
> Natural Scrolling
Why would you move your finger against the direction in which you're scrolling?
I do have it disabled on my mouse, so I can more easily flick it to navigate down pages.
Sort of. When the the scroll bar (thumb) is the thing that you want to grab in order to scroll though — where is it?
Because I'm scrolling *down* to reveal new content towards the bottom of the screen. Why should I move my finger "up" if I want to scroll "down" ;)
For touch screens it makes sense, no doubt, but for touchpad and mouse it's debatable. It's clearly a personal preference though, I just hope they never remove the settings option.
Except when you don't realize there is more content to be scrolled in any direction including left and right because there is zero indication.
> Why would you move your finger against the direction in which you're scrolling?
It makes absolutely no sense with a scroll wheel and yet, by default it's on for them.
Does it fail to work properly on Intel Macs? All of my x86 Macs are far too old to try Big Sur.
EDIT: Oh, I see -- first-party Apple apps can stream unlimited data, tracking your activity. Egads...
Now I am ok. Catalina is the last Apple OS that I will run on my computers. Figma is in the browser. Blender is working under Linux perfectly. Windows is horrible, but if used properly for specific tasks it will perform. The big problem was to move away from Logic, but where there's a will, there's a way.
I am deeply thankful for all those years of Desktop Bliss, but Apple nowadays is marketing and shareholders driven company and this is the opposite of Jobs philosophy.
I would caution you about pigeon-holing "Jobs' philosophy". I have observed that his philosophy often suited the circumstances he found himself in at various points in his fascinating career. ;-)
Frankly, I think that the design changes Apple has been making are very much in line with how Jobs would have done things.
Would he have made it exactly the same? No, certainly not; he was a different person who was very opinionated, so there would be differences—but the direction of the changes would, I think, be very similar.
However, I think it's also pretty irrelevant, given that Jobs himself explicitly said "Don't try to do things the way I would do them. Just do the right things." (Paraphrased from memory.)
And that is exactly what they did. The right thing they ( Tim Cook ) thought was to extract as much money from their product line and user.
I moved to Ableton years ago because I wanted a cross-platform DAW.
I spend more time on the command line now than I did 10 years ago on macOS and I don’t see that changing any time soon.
It’s been a three release arc, starting with Catalina, to Big Sur and now Monterey, that started off pretty rocky and seemingly coming to fruition with this release.
I’m using the public beta of Monterey as my daily driver and the transition couldn’t have gone any smoother, especially given it’s still months away from being released. So much better than Catalina which was ridiculously bad two years ago.
I also don’t agree this is the lowest common denominator; since iPadOS, iOS and macOS all have the same core operating system, it only makes sense there should be a baseline of functionality and that users are able to use the appropriate platform for a given task. But that doesn’t mean unfettered access to everything on the Mac; given the world we live in, that’s a a recipe for disaster, which is why we can’t have nice things.
For laptops, I've decided to go back to Windows after 15 years of using Macs; I replaced my 2013 MacBook Air with a Microsoft Surface Pro 7 running Windows 10. I'm happy with the purchase; the Surface Pro 7 is an excellent tablet, and Windows Subsystem for Linux has made using Windows more pleasant for me since I spend a lot of time in the terminal. For desktops, as of this moment I'm still using a 2013 Mac Pro as my daily driver, running Mojave. Eventually I would like to replace this with a Ryzen 7 or Ryzen 9 build that will probably run FreeBSD.
I'm keeping my eye on the Hello desktop (https://hellosystem.github.io/docs/) for FreeBSD, which appears to have the goal of providing a desktop environment that is heavily influenced by pre-Yosemite Mac OS X's Aqua interface. If this desktop gains traction, then hopefully there will be applications written that are conformant to Hello's UI guidelines, which are based on pre-Yosemite's Apple Human Interface Guidelines.
I lament the state of personal computing these days, and I wish there were more investment in desktop computing; I talk more about it here (http://mmcthrow-musings.blogspot.com/2020/10/where-did-perso...). If I were independently wealthy, then I'd work on this.
Hello desktop looks good indeed, though a but too early for me too. Right now I use KDE on FreeBSD. It's a bit too 'Windowsy' but Gnome is far too much 'new Apple', taking away user choice, so it's not an option for me.
I don't think these people will be fond of the sweeping changes made in Win11's UI that are dedicated to touch interfaces/tablets, and to the big new feature of running Android apps "natively" on Windows, along with an Android app store.
The ability to run Linux software is also mostly irrelevant, as MacOS/Darwin has largely been able to run those same programs natively since the beginning. It's never needed a POSIX compatibility layer -- it was built to support that functionality from day 1. e.g. Apple didn't need to build a compatibility shim to tunnel Wayland/X11 applications because Quartz was designed from the start to support that use case.
Windows 11 is a much better compromise of usability on both, and I like the idea of panes, it is sorta kinda heading towards a tiling window system which really appeals to me.
And the android thing and Amazon's involvement. Yeah a lot written about this and I don't agree with it either. But you don't have to use it.
Basically Windows 11 presents the opportunity to unify all the kernel and related OS infrastructure to pretend the road started with Windows 8 never happened.
The COM improvements done in WinRT, are ported into Win32 land, .NET Native goes away replaced by .NET 6 AOT, app sandoxing gets replaced by MSIX sandoxing, .....
Thus pretending that all those improvements happened as if Windows 11 suceeded Windows 7, and a couple of years from now, the UWP branch will be dropped from Windows SCM.
But this sounds like a good thing to me overall. I was never a fan of UWP as most of the apps were too tablet focused. The same issue I have with Mac Catalyst apps. Too dumbed down and basic. I know it's not technically necessary to do so, but these unified platforms seem to stimulate that kind of app. I was also very happy to see that live tiles are going away (It always takes some time for me to rid the start menu of them).
If Microsoft would adopt a more privacy friendly stance e.g. no telemetry or MS accounts required at all, I'd actually consider using it again for more purposes privately.
UWP dropped from WinUI roadmap and desktop focus,
https://github.com/microsoft/microsoft-ui-xaml/blob/main/doc...
While Project Reunion gets renamed into Windows App SDK
https://blogs.windows.com/windowsdeveloper/2021/06/24/what-w...
C++/WinRT also does COM anyway,
https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-a...
All Language/WinRT SDKs become /windows,
https://blogs.windows.com/windowsdeveloper/2021/05/06/announ...
https://blogs.windows.com/windowsdeveloper/2021/01/21/making...
Microsoft Game Development Kit makes it clear that for AAA titles, the Win32 + GDK model is the future, while WinRT APIs are being deprecated, and only community support is planned for UWP, not from Microft XBox teams.
https://github.com/microsoft/GDK
So one just needs to read between the lines, combine it with years of experience with previous technology reboots from Microsoft, and it is relatively clear where they are heading with Windows 11.
Naturaly when playing futurology games there is always a possibility of being wrong.
WSL isn't that great either. I've tried to make it so that I can SSH into my WSL instance from other machines - doesn't work. Windows seems to always assign a random IP address to the WSL instance, so I can't actually forward SSH traffic to it. Well, I can but it stops working after I shut down the WSL instance.
It's nice for playing games but I don't see the appeal in any other part of the system. Setting up GPG and Git on a Windows machine is also so much worse than on other operating systems.
This appears to be their plan. It has steadily ramped up since Mojave, and Big Sur was the inflection point. I have used OS X exclusively since 2008, and last year I made the choice to no longer upgrade any of my machines beyond Catalina. I'm slowly getting used to the fact that I won't be able to use Macs for my work in the near future, and am making adjustments to my workflow accordingly. I know this is probably the life-long FruitCo® fan in me speaking, but I'm genuinely distraught about this. My absolute favourite software platform in the world is being chipped away at to appeal to the lowest common denominator. Even worse, most people seem to be cheering them on for doing it. Really upsets me.