Пытаясь решить проблему, я обнаружил аргумент --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 не появился, учитывая мои критерии поиска.
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, вы тоже это заметите.
Таким образом, вы читаете не того человека.
su
. И Ubuntu' ssu
прибывает не изshadow-utils
пакет (dpkg -l shadow*
шоу there' s никакая такая вещь), но каждый назвалlogin
. Мой реальный вопрос был и: ПОЧЕМУ? Почему делает использование Debian/Ubuntu реализация не-GNU, испытывая недостаток в полезной функции? Я подозреваю, что это происходит из-за проблем безопасности, но я надеялся на что-то более конкретное.:) – dkarp 05.05.2020, 05:41