Пароль для терминала в линукс

передать пароль в терминал linux из скрипта

как можно сделать так, чтобы пароль вводился автоматом из скрипта. P.S.: Данный код написан мной и для меня проблема безопасности не стоит.

Используйте expect , но можно разрешить безпарольный вызов из конфигурации sudo (почти как в ответе, но я бы ограничил только определённый набор команд, а не всё подряд).

2 ответа 2

Если вопрос стоит в том, чтобы не вводить пароль sudo , тогда нужно просто его настроить, для этого добавляется в файл /etc/sudoers строка:

Пароль больше не будет запрашиваться.

#!/bin/bash echo mYsuperPassWorD|sudo -S iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65 

Читайте хелпы и маны, они рулез!

$ sudo --help . Параметры: -A, --askpass использовать вспомогательную программу для ввода пароля -b, --background выполнить команду в фоновом режиме -B, --bell ring bell when prompting -C, --close-from=num закрыть все дескрипторы файлов >= num -E, --preserve-env сохранить пользовательское окружение при выполнении команды --preserve-env=list preserve specific environment variables -e, --edit редактировать файлы вместо выполнения команды -g, --group=group выполнить команду от имени или ID указанной группы -H, --set-home установить для переменной HOME домашний каталог указанного пользователя -h, --help показать справку и выйти -h, --host=host выполнить команду на узле (если поддерживается модулем) -i, --login запустить оболочку входа в систему от имени указанного пользователя; также можно задать команду -K, --remove-timestamp полностью удалить файл timestamp -k, --reset-timestamp объявить недействительным файл timestamp -l, --list показать список прав пользователя или проверить заданную команду; в длинном формате используется дважды -n, --non-interactive автономный режим без не вывода запросов пользователю -P, --preserve-groups сохранить вектор группы вместо установки целевой группы -p, --prompt=prompt использовать указанный запрос пароля -S, --stdin читать пароль из стандартного ввода . 

Но лучше сразу запускать скрипт от рутового пользователя. Например из cron или юнита/таймера systemd.

Источник

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

Не можете ввести пароль в Терминал? Да, ты можешь, это просто не появляется

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

Читайте также:  Linux mint установить mesa

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

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

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

% sudo cat /etc/secret.conf
Password:

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

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

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

% sudo cat /etc/secret.conf
Password: Monkey123 (hit Return key)

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

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

Чтобы быть на 100% абсолютно ясным:

Пароли терминала не отображаются при вводе в качестве меры безопасности, все равно введите пароль, когда его запросят, и нажмите return.

Ввод пароля и нажатие клавиши возврата отправит пароль для аутентификации, и, если пароль был введен правильно, команда будет выполняться должным образом.

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

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

Читайте также:  Linux для css сервера

Что вы думаете об этой мере безопасности, которая скрывает длину пароля и ввод в Терминале? Долгое время это было стандартной практикой для мира unix, но считаете ли вы это полезным и на Mac? Сообщите нам свои мысли в комментариях ниже.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник

Решение проблем со вводом пароля в «Терминале» Ubuntu

Не вводится пароль в терминале в Ubuntu

Начинающие пользователи, только знакомящиеся с операционной системой Ubuntu, часто сталкиваются с возникновением самых разнообразных сложностей, о решении которых они никогда не слышали. Одной из них является ситуация, когда пароль в «Терминале» не вводится. В рамках сегодняшнего материала мы детально разберем эту тему и объясним, почему эта проблема заключается лишь в невнимательности юзеров.

Решаем проблему со вводом пароля в «Терминале» Ubuntu

Вся суть этой неполадки заключается в том, что при вводе ключа доступа для активации прав суперпользователя на экране не отображаются символы или звездочки, которые для многих являются показателем того, что символы действительно набираются. Это вызывает недоумение и заставляет обращаться к интернету, чтобы найти ответ на этот вопрос.

Сразу уточним, что по умолчанию в Ubuntu и других дистрибутивах Linux выставлены настройки безопасности, которые и отвечают за то, что при наборе пароля символы вводятся, но на экране не отображаются. То есть юзеру следует лишь набрать комбинацию и нажать на Enter, игнорируя пустоту в строке. Далее мы покажем пример выполнения этого, а также расскажем о полезных нюансах.

Пример ввода пароля sudo в терминале Ubuntu

Начнем разбор сегодняшней проблемы с демонстрации банального примера ввода пароля в консоли при выполнении определенных действий. Вы сможете ознакомиться с представленной инструкцией и скриншотами, чтобы убедиться в том, что подобное положение вещей — нормальное рабочее состояние операционной системы.

  1. Все начинается с запуска «Терминала». Сделать это можно, например, через меню приложений, кликнув левой кнопкой мыши по соответствующему значку. Запуск терминала для примера ввода пароля суперпользователя в Ubuntu
  2. Здесь обычно вводится команда, в начале которой имеется опция sudo. Именно она отвечает за то, что осуществляться эта команда будет от имени суперпользователя, а значит, придется подтвердить подлинность путем ввода пароля. После написания команды нажмите на Enter. Использование команды с необходимостью ввода пароля суперпользователя в Ubuntu
  • В новой строке отобразится форма, где осуществляется написание пароля для учетной записи. Начните набирать символы, и вы увидите, что ни один из них не отобразится. По завершении нажмите на клавишу Enter. Ввод пароля суперпользователя при активации команды в терминале Ubuntu
  • Если пароль был введен правильно, отобразится дальнейшая информация, например, при установке софта вы увидите предупреждение о занятии дискового пространства. Успешный ввод пароля для активации команды в терминале Ubuntu
  • В случае некорректного ввода пароля появится сообщение «Попробуйте еще раз» и отобразится аналогичная строка для набора. В этой ситуации лучше проверить раскладку, активирована ли клавиша CapsLock и вообще, правильно ли вводится ключ доступа. Повторный ввод пароля суперпользователя при ошибках в Ubuntu
  • Читайте также:  Vmware kali linux bluetooth

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

    Добавление учетной записи в группу root

    Некоторые юзеры при попытке выполнить команду с атрибутом sudo получают уведомление о том, что они не могут использовать учетную запись суперпользователя. Это значит, что администратор при создании нового профиля не учел этого или специально не внес учетную запись в группу root. Исправить данную ситуацию можно, но для этого потребуется зайти от имени пользователя, обладающего соответствующими привилегиями.

    1. Откройте список приложений и перейдите в «Параметры». Переход к настройкам для определения имен пользователей в Ubuntu
    2. Здесь вас интересует последняя строка «Сведения о системе». Переход к сведениям о системе через параметры Ubuntu
    3. Воспользуйтесь панелью слева, чтобы выбрать раздел «Пользователи». Переход к просмотру списка пользователей для определения их имен в Ubuntu
    4. Теперь вы можете быстро изучить список всех добавленных учетных записей, чтобы разобраться с тем, какие именно из них требуется внести в группу root. Определение имени пользователя в Ubuntu перед добавлением его в root
    5. После запустите консоль и введите sudo usermod -a -G root user_name , где user_name — имя определенной ранее учетной записи. Ввод команды для определения пользователя в группу root Ubuntu
    6. Подтвердите свои намерения, указав пароль от профиля суперпользователя. Подтверждение определения пользователя в группу root через терминал в Ubuntu

    После этого все изменения будут применены, а это значит, что вы в любой момент можете переключить учетную запись пользователя и смело задействовать команды, которые для подтверждения требуют ввода пароля root.

    Изменение настроек отображения пароля в «Терминале»

    Напоследок поговорим о том, как сделать так, чтобы при вводе пароля в консоли отображались звездочки. Это позволит быть начинающим пользователям более спокойными, убедившись в том, что символы набираются. Для осуществления подобных изменений вам также потребуется обладать правами привилегированной учетной записи.

    1. Откройте «Терминал» и напишите там sudo visudo . Ввод команды для перехода к редактированию конфигурационного файла ввода паролей в Ubuntu
    2. При появлении новой строки с просьбой ввести пароль сделайте это и нажмите на Enter. Ввод пароля для открытия конфигурационного файла в Ubuntu
    3. В отобразившемся документе отыщите Defaults env_reset и опуститесь к этой строке. Нахождение строки для изменения в конфигурационном файле Ubuntu
    4. Удалите содержимое строки или сделайте из него комментарий, поставив в начале знак решетки, а затем добавьте Defaults env_reset,pwfeedback . Изменение конфигурационного файла Ubuntu для отображения паролей при вводе
    5. Сохраните изменения, используя горячую клавишу Ctrl + O. Сохранение изменений в конфигурационном файле Ubuntu
    6. Изменять имя файла при этом не нужно, просто нажмите на Enter для подтверждения. Подтверждение сохранения изменений в конфигурационном файле Ubuntu
    7. По завершении можно выйти из текстового редактора, зажав Ctrl + X. Выход из конфигурационного файла после внесения изменений в Ubuntu
    8. Теперь убедитесь в том, что в строке появляются звездочки, запустив любую операцию с аргументом sudo. Проверка отображения звездочек при вводе паролей через терминал в Ubuntu

    Это все, что мы хотели рассказать о трудностях с вводом пароля в «Терминале» Ubuntu. Как видите, это не является проблемой, а возможные неприятности решаются путем банального изменения конфигурационных файлов. Используйте приведенные инструкции, чтобы создать оптимальную настройку и добавить все необходимые учетные записи в группу root.

    Источник

    Оцените статью
    Adblock
    detector