Леннарт Поттеринг добавил в утилиту machinectl возможность управлять входом в систему локальным пользователям, что является главной функцией классической Unix-утилиты su уже более 30 лет. Необходимость такого шага Леннарт объяснил тем, что концепт работы su остается очень неясным, и при открытии новой сессии получается смесь старых и новых параметров окружения. Утилита machinectl призвана улучшить ситуацию, изменяя только минимально нужное количество системных свойств в новой пользовательской сессии.
Новая функциональность уже доступна в systemd 225.
Да не, оно не совсем бред. Но опять вот этот вот поттеринговский принцип максимальности изменений: между вариантами "оставить всё как есть и просто жить дальше" и "мы наш мы новый мир построим" автоматически (и явно без каких-либо душевных мучений) выбирается последнее. И это при том что экосистема systemd и так уже, без этих новых штучек, далеко не образец консервативности.
И что же оно поменяет? Только то, что будет systemd-{su,sudo} вместо su и sudo? Результирующее окружение формируется скриптом /etc/profile (и скриптами /etc/profile.d/*.sh}, оно может наследоваться (su), а может и не наследоваться (su -l). Плюс еще пользовательский ~/.profile может подключаться. Так в чем проблема?
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
------------- Registered Linux User #557010
Я не очень понял что именно оно поменяет или не поменяет, но я допускаю что для определённых крайне специфических нужд ни один набор опций su не даст желательного результата,
Новость написана с ошибками, а народ, верный принципу "не читал, но осуждаю", не разобравшись, полез высказывать своё экспертное мнение. machinectl shell не есть замена su. Просто последняя, с какими опциями её ни вызывай, не даёт полноценный сеанс, аналогичный login, ибо не регистрирует новую сессию в PAM, не добавляет запись в utmp, а также наследует многие вещи из исходного сеанса типа контекста audit, контрольной группы и т. д.. Ранее, если нужен был полноценный сеанс, приходилось использовать что-то типа ssh root@localhost, что несколько костыльно. Теперь появилась возможность делать это нормально. Вот и вся история.
последняя, с какими опциями её ни вызывай, не даёт полноценный сеанс, аналогичный login, ибо не регистрирует новую сессию в PAM, не добавляет запись в utmp, а также наследует многие вещи из исходного сеанса типа контекста audit, контрольной группы и т. д.
А зачем, если есть login?
Я из новости на опеннете сделал вывод, что сабж умеет логиниться в какие-то там контейнеры, а остальное всё — побочный эффект. Я тоже не так понял?
Можно было не писать столь длинный пост, а просто запостить фотографию и добавить "Поттеринг сделал... Заводите свои говномёты.", почтенная публика сразу бы намёк поняла. =)