Почему я не могу использовать `su --session-command` в Ubuntu?

Пытаясь решить проблему, я обнаружил аргумент --session-command для su, как описано здесь здесь . Я попытался использовать его в своей системе Ubuntu 12.04 на работе, но получил ошибку «нераспознанная опция». Конечно же, он даже не отображается на странице справочника для su!

Связанная справочная страница говорит, что --session-command «обескуражен», но не говорит почему.

Из любопытства я подключился к CentOS 6.2. сервер на моей работе, и --session-command распознается.

Дальнейшие исследования привели меня к обнаружению, что su, используемый Ubuntu, происходит из пакета login, тогда как в CentOS он происходит из coreutils. В Ubuntu также установлен пакет coreutils по умолчанию, но он не содержит стандартную реализацию FSF su. Детальное сравнение показывает, что coreutils из обоих дистрибутивов содержат 105 исполняемых файлов, но есть несколько отличий (большинство из которых, кажется, просто устанавливают местоположение файлов).

Мой вопрос: не исключено ли --session-command из суперпользовательской команды Ubuntu (или Debian), или расходящаяся реализация Ubuntu просто не догнала FSF? Если по замыслу, в чем причина этого упущения? Смежный вопрос: почему бы вообще не использовать все утилиты GNU FSF?

Я уверен, что это где-то задокументировано, но Google не появился, учитывая мои критерии поиска.

2
задан 05.05.2020, 05:41

1 ответ

Ubuntu и Debian используют пакет shadow-utils с тех пор, как он того стоил (файл журнала отправляется до 01 января 1996 г.). В последнее время util-linux su был перемещен из coreutils в пакет util-linux, версия в coreutils должна была быть специально скомпилирована с ним (большинство дистрибутивов этого не сделали). Очевидно, единственная причина в том, что Debian всегда использовал собственную реализацию shadow-util вместо coreutils su.


В заголовке вы увидите сообщение о том, что есть еще одна man-страница , предоставленная пакетом shadow-utils , такая же, как в Debian / Ubuntu. Если вы видите нижнюю часть справочной страницы Ubuntu и CentOS, вы тоже это заметите.

Таким образом, вы читаете не того человека.

0
ответ дан 05.05.2020, 05:41
  • 1
    Я просто отредактировал в попытке разъяснить вопрос, но в оригинале (и текущий) текст you' ll видят, что посредством моего собственного исследования I уже понял, что эти два Ose используют различные пакеты для обеспечения их соответствующих реализаций su. И Ubuntu' s su прибывает не из shadow-utils пакет (dpkg -l shadow* шоу there' s никакая такая вещь), но каждый назвал login. Мой реальный вопрос был и: ПОЧЕМУ? Почему делает использование Debian/Ubuntu реализация не-GNU, испытывая недостаток в полезной функции? Я подозреваю, что это происходит из-за проблем безопасности, но я надеялся на что-то более конкретное.:) – dkarp 05.05.2020, 05:41
  • 2
    @EricLambart на самом деле, вне которого это отвечает на Ваш вопрос и, Вы спрашиваете " почему su параметр isn' t доступный в Ubuntu, но в CentOS? " который я отвечаю на " CentOS использует другой пакет для su который Ubuntu doesn' t" – dkarp 05.05.2020, 05:42
  • 3
    @EricLambart, по-видимому, идя от того, что этот список USENET говорит, su от util-linux, был перемещен от coreutils пакета до util-linux, в то время как Debian всегда использовал тень-util. – Christophe Strobbe 05.05.2020, 05:42
  • 4
    Хотя этот doesn' t отвечают на мой вопрос, это информативно. Спасибо. – Todd Owen 05.05.2020, 05:42

Теги

Похожие вопросы