As a system & security administrator I started to install a lot of Unixes, 20 years ago with a dual volume for security purpose, inside critical
infrastructures:
volume mount options
------------------------------------------------
/ ro
/var rw, nosuid, nodev
Everything which could be end user or admin modifiable and to be referenced from / was defined through simple symbolic links:
/tmp --> /var/tmp
/home --> /var/home
/local --> /var/local
/opt --> /var/opt
/private --> /var/private
And through many tests, and real attacks pressure of every day, with such a configuration, even as root, it was impossible to damage the system. Many attacks struck us ( ~ 20 / day )… none succeeded ( at
least as I was aware of, and as I wasn't fired ).
Why did Apple chose a rather more complex way similar architectures with the 2 volumes:
volume mount options
------------------------------------------------
/ ro
/System/Volumes/Data rw, nosuid, nodev
with a new concept of firmlinks which is not compatible with any
other Unix FS, which brought Apple to put fundamental components of their new APFS outside of the FS internals ( in plain old files ) and which is rather very tricky to understand and to manage for system and security administrator?
To give just one example of an highly deceiving point:
it isn't now possible to make a quick carbon copy of a volume with
tools as simple as cp or rsync because of new extended attributes.
Real life teach us everyday that complexity is one of the biggest enemy of performance and security.
What are the advantages of this sibling volumes architecture?
( I am not talking here of the real internal advantages of APFS versus
HFS and traditionnal Unix UFS or ZFS, which I much easily grasped and verified in real life. ).
3
1
987