Почему Linux Server не запрашивает пароль в одном пользовательском режиме

нашел решение:

$ uname -k || echo 'omg, fail' || read
uname: invalid option -- 'k'
Try `uname --help' for more information.
omg, fail
$ echo hi || echo 'omg, fail' || read
hi
$ 

UPDATE: упс, он не ждет ввода после печати текста :\

1
25.10.2018, 01:38
2 ответа

Потому что в большинстве случаев в этом нет никакого смысла.

Если система не защищена физически и доступ к загрузке не заблокирован должным образом, вам даже не нужно использовать однопользовательский режим для выполнения задач, для которых вы обычно его используете, вы можете просто загрузить другую ОС на систему и делать то же самое.

Если система физически защищена (независимо от того, заблокирован доступ к загрузке или нет ), то вам реально не нужен пароль, потому что любой, кто может получить доступ к системе, использует один -пользовательский режим уже имеет доступ к системе с помощью других средств и не нуждается в однопользовательском -пользовательском режиме (IOW, способность проходить проверки физической безопасности является достаточной авторизацией для доступа к однопользовательскому режиму ).

Единственный случай, когда это потенциально полезно, — это если система не защищена физически, но у вас заблокирована последовательность загрузки, так что люди не могут загрузить на устройстве альтернативные операционные системы. Однако такая ситуация на самом деле не очень распространена за пределами больших предприятий (— это тот же тип настроек, когда вы запускаете системы Windows с основным пользователем, не имеющим доступа к системе с правами администратора ), и это несложно для их, чтобы просто включить защиту паролем.

4
27.01.2020, 23:12

Чтобы проверить, требуется ли аутентификация для режима одного пользователя -:

grep SINGLE /etc/sysconfig/init

Если требуется аутентификация, вывод должен быть следующим.

SINGLE=/sbin/sulogin

По умолчанию аутентификация не выполняется, если выбран режим одного пользователя -. Чтобы требовать ввода пароля root в однопользовательском режиме -, добавьте или исправьте следующую строку в файле /etc/sysconfig/init.

SINGLE=/sbin/sulogin

Почему? Я могу только догадываться. Возможно, предполагается, что машина физически защищена.

Как указывает @JeffSchaller, текущее значение SINGLEвероятно /sbin/sushell.

Включить хороший комментарий от @BaardKopperud, чтобы он не затерялся в комментариях...

Well traditionally single-user would mean no network and no remote or terminal log-ins. The only active terminal would be "the console" - the one terminal directly hooked-up to the computer - usually located in a locked computer-room with access to only a select few. In such an enviroment, it probably didn't matter so much if there were no password - especially since it usually would require the root-password to take the system to single-user in the first place.

4
27.01.2020, 23:12

Теги

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