This command su is used within a shell to obtain root status for performing administrative tasks on a Linux/UNIX system. It is not a full root login.
But to Red Hat Linux employee Lennart Poettering, the main developer of systemd, su is not good enough.
He writes: "Well, there have been long discussions about this, but the problem is that what 'su' is supposed to do is very unclear. On one hand it's supposed to open a new session and change a number of execution context parameters (uid, gid, env, ...), and on the other it's supposed to inherit a lot concepts from the originating session (tty, cgroup, audit, ...).
"Long story short: "su" is really a broken concept. It will given (sic) you kind of a shell, and it's fine to use it for that, but it's not a full login, and shouldn't be mistaken for one."
Poettering's substitute command is machinectl shell; it also enables one to establish an su-like session on a different container or virtual machine.
At least one drawback could be present: many servers disable direct root logins, except from the system console itself, in order to track who is logging in and what they are doing. Poettering's new command appears to break this audit trail.
As a senior Debian developer, Craig Sanders, put it some time ago, systemd is "absorbing way too many low-level system functions into itself – udev has been merged; it does logging; has half-arsed substitutes for ntpd, cron, automount, inetd, and network configuration. This feature-creep is on-going, with more being absorbed into systemd all the time... and announced just a few days ago, a console daemon to replace the kernel's virtual terminals.
"Apart from the inevitable problems associated with being a jack-of-all-trades (and) master-of-none, the result will be the death of innovation for all functions absorbed into systemd as it is impossible to replace any one of them without replacing systemd entirely... which makes the job of developing improvements just too big a job.
"Right now, we have several alternatives to choose between for cron, ntp, logging, etc – each of them with different advantages and disadvantages. With systemd, it becomes a one-size-fits-all-or-else situation. If what it does doesn't suit you then tough luck, because you can't replace it without breaking your system.
"The second major problem with systemd is that it is becoming (or has become) mandatory - unnecessary dependencies on logind or systemd itself make it nearly impossible to avoid having systemd installed."
It remains to be seen which other functions systemd will seek to take over. As one wag put it, it might come to the point where one has just systemd and the kernel making up a LInux distribution.