LINUX.ORG.RU
ФорумTalks

В systemd появилась замена su(1)

 , ,


2

6

Этим замечательным пулл-реквестом, Lennart Poettering, добавил замену su(1) в machinectl.

Открыть новый шелл для root на локальной машине:

$ machinectl shell

Для указания пользователя используется опция --uid=...

When using the shell command without arguments (thus invoking the executed shell or command on the local host) it is similar in many ways to a su(1) session, but unlike su completely isolates the new session from the originating session, so that it shares no process or session properties, and is in a clean and well-defined state. It will be tracked in a new utmp, login, audit, security and keyring session, and will not inherit any environment variables or resource limits, among other properties.

Несколько слов от Леннарта про su(1):

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, ...). Since this is so weakly defined it's a really weird mix&match of old and new paramters. To keep this somewhat managable we decided to only switch the absolute minimum over, and that excludes XDG_RUNTIME_DIR, specifically because XDG_RUNTIME_DIR is actually bound to the session/audit runtime and those we do not transition. Instead we simply unset it.

Long story short: «su» is really a broken concept. It will given 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.

THis has come up many times, but nothing really changed, hence closing this now. I understand this is confusing and unexpected, but well, that's UNIX...

man

★★★★

Последнее исправление: i_gnatenko_brain (всего исправлений: 6)

Ответ на: комментарий от Harald

Так, пару сочных стейков я себе уже пожарил. И еще жир остался. Что с ним делать?

А по теме: «Воу, полегче». Серьезно?

Quickern ★★
()
Ответ на: комментарий от aplay

but unlike su completely isolates the new session from the originating session, so that it shares no process or session properties, and is in a clean and well-defined state. It will be tracked in a new utmp, login, audit, security and keyring session, and will not inherit any environment variables or resource limits, among other properties.

vurdalak ★★★★★
()

А можно этой сессии сразу задать лимиты, например на предел использования цп? Для emerge world было бы полезно.

vurdalak ★★★★★
()

В Rawhide уже есть? Надо бы протестировать.

Deleted
()
Ответ на: комментарий от Deleted

потому что мало отсебятины для новости. нет времени перевести ман или описать своими словами зачем это нужно =)

i_gnatenko_brain ★★★★
() автор топика
Ответ на: комментарий от Harald

Long story short: «su» is really a broken concept. It will given 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.

THis has come up many times, but nothing really changed, hence closing this now. I understand this is confusing and unexpected, but well, that's UNIX...

i_gnatenko_brain ★★★★
() автор топика
Ответ на: комментарий от i_gnatenko_brain

Так General есть. Когда доберусь к десктопу и будет время - сочиню.

Deleted
()
Ответ на: комментарий от i_gnatenko_brain

Long story short: «su» is really a broken concept.

ну да, ну да, конечно

можно было пооригинальнее что-нибудь придумать

Harald ★★★★★
()
Ответ на: комментарий от sudopacman

И почему не проще починить работу с su, чем пилить совой аналог su ?

Да потому что в этом вся модель разработки линупса. Вместо того, чтоб починить готовую тулзу, надо написать новую, с новым набором багов и косяков. Чтобы потом кто-то мог написать ещё одну новую. И так далее.

hateyoufeel ★★★★★
()

Когда он там уже новое ядро себе запилит и переедет полностью на свою платформу?

По сабжу - вроде правильнее везде sudo использовать (да и, собственно, в случае если ты не root то это и проще), логичнее было бы его переписать, не?

alozovskoy ★★★★★
()
Ответ на: комментарий от sudopacman

С судо те же самые проблемы. В обоих утилитах непонятно какие переменные обновлять, а какие нет.

i_gnatenko_brain ★★★★
() автор топика

su

Ненужно же, с тех пор как есть User=, то есть с самого начала. А для интерактивной работы sudo -i тоже по сути по большим праздникам используется.

d_a ★★★★★
()
Ответ на: комментарий от Valkeru

Ну, фатальный недостотак - это очевидно. Но должна же быть и какая-нибудь другая аргументация, более вменяемая

sehellion ★★★★★
()
Ответ на: комментарий от sehellion

ТС же цитату привел которая описывает причину, в треде так же есть сылка на багрепорт почему этого мало для обсуждения?

Behem0th ★★★★★
()
Ответ на: комментарий от tailgunner

Хейтеры совсем сдеградировали - видимо злость здорово так жарит мозги и некоторые места.

Deleted
()
Ответ на: комментарий от Behem0th

Потому что вместо одного недостатка su будут недостатки приколоченнлой к systemd утилиты.
(На верняка же ведь к systemd приколотил хоть одним маленьким гвоздиком?)

torvn77 ★★★★★
()
Ответ на: комментарий от Deleted

Хейтеры совсем сдеградировали

/me .oO( Почему нацики так озабочены хейтерством? )

tailgunner ★★★★★
()
Ответ на: комментарий от i_gnatenko_brain

видишь в чем прикол, местные хейтеры не могут догнать и побить поттеринга, потому что он на другом конце света, а тебя - могут :)

stevejobs ★★★★☆
()

Уже работает в Fedora Rawhide: https://youtu.be/hUfmONX7i60

Cмог залогиниться рутом и простым пользователем, а также передать переменную окружения.

Deleted
()
Ответ на: комментарий от i_gnatenko_brain

у них время до вторника =)

Подобные заслуги не имеют срока давности, бро.

Manhunt ★★★★★
()
Ответ на: комментарий от torvn77

И какие недостатки у приколоченной к системд утилиты?

Behem0th ★★★★★
()
Ответ на: комментарий от vurdalak

Сомневаюсь, что это сейчас вынесено в отдельные удобные ключи командной строки, но через API (systemctl set-property) должно быть можно — это же обычная сессия.

i_gnatenko_brain — при чём тут systemd-run? В нём-то как раз можно.

intelfx ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.