Обратите внимание, что вся информация на этом портале переведена с других языков, поэтому некоторые фразы могут быть неточными. Надеемся на ваше понимание и желаем успешной работы с сайтом! С уважением, создатели сайта. Наша почта: [email protected]

Понимание Почему терминал не позволяет вам вводить пароль

Иногда вам нужно ввести пароль в терминал, как правило, для команд sudo или su, который позволяет пользователям выполнять команду с привилегиями суперпользователя. Это довольно типично для того, чтобы разрешить доступ к чтению или изменению чего-либо, что в противном случае было бы невозможно со стандартной учетной записью пользователя. Вы обычно увидите, что sudo префикс другой команды, выглядящей как «sudo nano / etc / hosts». Хотя большая часть командной строки и sudo, как правило, подходит только для продвинутых пользователей, иногда более случайным пользователям компьютеров может потребоваться обратиться к терминалу, возможно, включить функцию, изменить системный файл или даже для устранения неполадок. Для начинающих пользователей, которые заканчиваются в командной строке, возникает очень распространенный вопрос с вводом паролей в терминал, почти всегда связанный с sudo и OS X (или Linux, если на то пошло).

Но вот что. Терминал позволяет вам вводить пароль, он просто не похож на него. Курсор на экране не будет перемещаться, и индикатор не вводит пароль вообще. Это преднамеренно и служит механизмом безопасности, в отличие от ввода пароля в веб-форму или стандартного экрана входа в GUI, который обычно маскируется как звездочки типа ******** или пули, например: ••••••• ••••••, отсутствие каких-либо показов полностью преднамеренное, и нет такого указания на ввод паролей в командной строке. Причина довольно проста, она не дает никаких указаний о том, как долго находится пароль, предлагая некоторую дополнительную запутывание для ввода пароля.

Если это звучит запутанно, это совсем не так, вот как это работает на практике. Допустим, вы выполняете команду, которая требует доступа sudo, тем самым воспитывая знакомую запись «Пароль:».

% sudo cat /etc/secret.conf
Пароль:

Когда появится запрос Password: введите пароль в любом случае, хотя ничего не отображается, а затем нажмите Return, когда закончите. Опять же, нет никаких указаний на ввод пароля, и это намеренно.

Терминал не вводит пароль явно, но он вводится

Итак, давайте снова рассмотрим предыдущую команду примера, притворив, что пароль администратора на этой машине — «Monkey123», вы должны ввести этот пароль, как он запрошен, несмотря на то, что он вообще не отображается, то есть последовательность будет выглядеть примерно так:

% sudo cat /etc/secret.conf
Пароль: Monkey123 (нажать клавишу возврата)

Это выполнит команду. И нет, Monkey123 (или любой другой пароль администратора) не появится на экране, и не будет никаких звездочек или пуль.

Ввод пароля в терминал не будет отображаться, это преднамеренно

Обычно пользователю нужно только один или два опыта, чтобы понять, как это работает, но это остается большим вопросом для пользователей, которые только начинают получать доступ к командной строке. И как только вы знаете, вы можете передать знания другим, поэтому, если кто-то спросит вас: «Почему терминал не позволяет мне вводить пароль?», Вы можете теперь ответить и объяснить им.

Для тех, кто задается вопросом, да, это поведение по умолчанию может быть изменено для отображения звездочек для каждого символа, введенного в качестве пароля в командной строке, для sudo, su или того, что вы делаете. Тем не менее, внесение этих изменений не рекомендуется, и мы не собираемся рассказывать об этом в этой конкретной статье … возможно, в будущем, если есть какой-то интерес к этому.

Понравилась статья? Поделиться с друзьями:
RuBookMac