Semenalidery.com

IT Новости из мира ПК
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Linux без пароля

compizomania

Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ

Страницы

20 января 2020

Как выполнять команды sudo без ввода пароля в Linux?

sudo (англ. substitute user and do, дословно «подменить пользователя и выполнить») — программа для системного администрирования UNIX-систем (к которым относится и Linux), позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Википедия.

Значение su — substitute user (подменить пользователя), может быть не совсем понятной обычному пользователю, поэтому su можно перевести с английского ешё и как s — super, а u — user или su — super user (суперпользователь, администратор), ну а do — делать, выполнять, таким образом дословно sudoадминистратор выполняет.

Команда sudo предоставляет возможность пользователям выполнять команды от имени суперпользователя root либо других пользователей, зарегистрировались в системе. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers. Для редактирования файла можно использовать специальный редактор visudo, запускаемый из командной строки (Терминал или Konsole в KDE).

Многие новички в Linux спрашивают: «А зачем мне постоянно вводить пароль в терминале после выполнения команды sudo, если я пользуюсь домашним компьютером один?».
Вопрос резонный. В данном случае, конечно нет особой необходимости вводить постоянно пароль после выполнения команды sudo.

Так как же выполнять команды sudo без ввода пароля в Linux?

Для отмены пароля при выполнении команды sudo, необходимо отредактировать файл sudoers, вводом строки содержащей значение NOPASSWD (без пароля).

Редактирование файлов в консольном редакторе vi, система Linux не имеет значения, т.к. vi присутствует в любой системе.
Откройте терминал, скопируйте/вставьте и выполните (нажмите Enter) следующую команду:

После выполнения данной команды в терминале (Konsole KDE) откроется редактор с файлом sudoers, гле клавишей с стрелкой вниз опуститесь в самый конец файла, скопируйте и вставьте следующую строку:

Примечание. Только вместо администратор необходимо ввести имя администратора системы, которое вы вводили во время установки системы, он же пользователь Домашней папки.
Если вы забыли имя администратора, то команда whoami (кто я) в терминале поможет его вспомнить.

В моём случае — это vladimir. У вас, конечно же, терминал должен вывести ваше имя администратора.

После вставки строки необходимо сохранить файл клавишами Ctrl+x и подтвердить клавишей y (латинская).

2. Редактирование файла sudoers в графическом текстовом редакторе вашей системы.

Не каждому пользователю, а тем более начинающему, по нраву использование консольных редакторов. Поэтому в Linux можно редактировать файлы и в графическом редакторе.
В каждой системе Linux по умолчанию установлен свой текстовый редактор, согласно рабочему окружению:

gedit для окружения GNOME

kate или kwrite — для KDE Plasma

Примечание. Определить ваше окружение рабочего стола, если вы забыли, можно командой в терминале:

После того, как вы определились с графическим текстовым редактором в вашем дистрибутиве, выполните следующую команду в терминале на редактирование файла sudoers:

Я работаю в окружении GNOME, поэтому в команде — gedit, в вы поменяйте на свой редактор.

Когда после выполнения команды откроется редактор, в самый конец файла вставьте следующую строку:

Примечание. Опять же, вместо администратор в команде, вставьте своё имя администратора системы.

Сохраните отредактированный файл Ctrl+s и закройте редактор.

3. Терминальный вариант

Как я писал выше, новички в Linux не очень жалуют терминал, считая его чем-то запредельным для простого пользователя. А зря. Это так просто.
Всё то что описывалось в первых двух пунктах, так сказать в картинках, в терминале можно выполнить одной командой:

sudo sh -c «echo «$USER ALL=(ALL) NOPASSWD: ALL» >> /etc/sudoers»

Вот и всё. Я показал в статье возможные варианты отмены пароля. Какой вариант предпочтительный для вас, выберите сами.

Теперь вам не нужно в терминале вводить пароль после команды sudo.

Как запустить команду «sudo» без ввода пароля в Linux?

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

Этот параметр задаётся в файле /etc/sudoers, который указывает sudoers использовать плагин политики безопасности по умолчанию для команды sudo; в разделе спецификации привилегий пользователя.

Читать еще:  Sql developer linux

Важное замечание: В файле sudeors для проверки подлинности используется параметр authenticate, который включен по умолчанию. Если он установлен, пользователи должны аутентифицировать себя с помощью пароля (или другого средства аутентификации), прежде чем будут запущенны команды с помощью sudo.

Однако это значение по умолчанию может быть переопределено с помощью тега NOPASSWD (в таком случае пароль не будет запрашиваться, когда пользователь будет вызывать команду sudo).

Синтаксис для настройки пользовательских привилегий следующий:

  • user_list — список пользователей или псевдонимов пользователей.
  • host_list — список хостов или псевдонимов хостов, на которых пользователи могут запускать sudo.
  • ffective_user_list — список пользователей или их псевдонимов, которых будут запускаться без пароля.
  • tag_list — список тегов, таких как NOPASSWD.
  • command_list — список команд или псевдонимов команд, которые будут запускаться пользователем(-ями) с помощью sudo.

Чтобы позволить пользователю (kostik в приведенном ниже примере) запускать все команды, используя sudo без пароля, откройте файл sudoers:

И добавьте следующую строку:

При работе с группами используйте символ «%» перед именем группы следующим образом (это означает, что все члены группы sys будут запускать все команды, используя sudo без пароля):

Чтобы разрешить пользователю запускать данную команду (/bin/kill), используя sudo без пароля, добавьте следующую строку:

Строка ниже позволит члену группы sys запускать команды: /bin/kill, /bin/rm, используя sudo без пароля:

В этой статье мы описали, как настроить команду sudo для её работы без ввода пароля. Не забудьте высказать свое мнение об этой статье или о других полезных конфигурациях sudeors для системных администраторов Linux в комментариях.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Information Security Squad

stay tune stay secure

Как запускать определенные команды без пароля Sudo в Linux

У меня был скрипт в моей системе Ubuntu, развернутый на AWS.

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

Но проблема в том, что мне нужны привилегии sudo для запуска сервиса.

Как вы, возможно, уже знаете, мы должны предоставить пароль, когда мы запускаем что-то от имени пользователя sudo.

Но я не хочу этого делать.

На самом деле я хочу запустить службу c sudo без пароля.

Если вы когда-либо сталкивались с подобной ситуацией, я знаю небольшой обходной путь.

Сегодня в этом кратком руководстве я научу вас, как выполнять определенные команды без пароля sudo в Unix-подобных операционных системах.

Посмотрите на следующий пример.

Как вы можете видеть выше, мне нужно предоставить пароль sudo при создании каталога с именем itsecforu в корневой (/) папке.

Всякий раз, когда мы пытаемся выполнить команду с привилегиями sudo, мы должны ввести пароль.

Однако в моем скрипте я не хочу предоставлять пароль sudo.

Вот что я сделал для запуска команды sudo без пароля на моем компьютере с Linux.

Выполнять определенные команды без пароля Sudo в Linux

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

Я хочу, чтобы пользователь с именем sk выполнил команду mkdir без указания пароля sudo.

Давайте посмотрим, как это сделать.

Редактируем файл sudoers:

Добавьте следующую строку в конец файла.

Здесь sk — это имя пользователя.

В соответствии с приведенной выше строкой пользователь sk может запустить команду «mkdir» с любого терминала без пароля sudo.

Вы можете добавить дополнительные команды (например, chmod) со значениями через запятую, как показано ниже.

Сохраните и закройте файл.

Выйдите из системы (или перезагрузите компьютер).

Теперь войдите в систему как обычный пользователь «sk» и попробуйте запустить эти команды с помощью sudo и посмотрите, что произойдет.

Несмотря на то, что я запускал команду «mkdir» с привилегиями sudo, пароль не запрашивался.

Отныне пользователю sk не нужно вводить пароль sudo при выполнении команды «mkdir».

При запуске всех других команд, кроме тех, которые добавлены в файлы sudoers, вам будет предложено ввести пароль sudo.

Читать еще:  Отказоустойчивый кластер linux

Давайте запустим еще одну команду с sudo.

А теперь? Эта команда предлагает мне ввести пароль sudo.

Если вы не хотите, чтобы эта команда запрашивала пароль sudo, отредактируйте файл sudoers:

Добавьте команду «apt» в visudo, как показано ниже:

Вы заметили, что путь двоичного исполняемого файла apt отличается от mkdir?

Да, вы должны указать правильный путь к исполняемому файлу.

Чтобы найти путь к исполняемому файлу любой команды, например, «apt», используйте команду «whereis», как показано ниже.

Как видите, исполняемый файл для команды apt — /usr/bin/apt, поэтому я добавил его в файл sudoers.

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

Сохраните и закройте файл sudoers, как только вы закончите. Выйдите из системы и снова войдите в систему.

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

Команда apt не спрашивала у меня пароль, хотя я запускал его с помощью sudo.

Вот еще один пример.

Если вы хотите запустить определенную службу, например apache2, добавьте ее, как показано ниже

Теперь пользователь может запустить команду «sudo systemctl restart apache2» без пароля sudo.

Могу ли я выполнить повторную аутентификацию для конкретной команды в приведенном выше случае?

Просто удалите добавленную команду. Выйдите и войдите обратно.

Кроме того, вы можете добавить директиву PASSWD: перед командой. Посмотрите на следующий пример.

Добавьте / измените следующую строку, как показано ниже.

В этом случае пользователь sk может выполнять команды «mkdir» и «chmod» без ввода пароля sudo.

Однако он должен предоставить пароль sudo при выполнении команды «apt».

Примечание: это только для образовательных целей. Вы должны быть очень осторожны при применении этого метода. Этот метод может быть как продуктивным, так и разрушительным. Скажем, например, если вы разрешите пользователям выполнять команду «rm» без пароля sudo, они могут случайно или намеренно удалить важные материалы. Вы были предупреждены!

2 комментария на “ Как запускать определенные команды без пароля Sudo в Linux ”

Я хочу выполнить вот эту команду
sudp apt install links2 , но мне выдает [sudo] password for color:
Я вводил sudo visudo color ALL=NOPASSWD:/bin/mkdir,/bin/chmod,/usr/bin/apt
Но мне все равно пишет введите пароль, а я не знаю какой
Что делать?

Так свой пароль, юзер в группе судо и может выполнять бинарник apt

Добавить комментарий Отменить ответ

Онлайн курсы

Рубрики

  • Аудит ИБ (31)
  • Вакансии (7)
  • Закрытие уязвимостей (97)
  • Книги (25)
  • Мануал (1 571)
  • Медиа (65)
  • Мероприятия (31)
  • Мошенники (20)
  • Обзоры (627)
  • Обход запретов (29)
  • Опросы (3)
  • Скрипты (92)
  • Статьи (240)
  • Философия (25)
  • Юмор (14)

Метки

Социальные сети

Hack shop

Поделиться

Anything in here will be replaced on browsers that support the canvas element

FAQ → sudo без пароля (Linux / Unix)

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

Существует 2 варианта реализации этой затеи — работающий и правильный, мы рассмотрим оба.
для примера буду использовать логин пользователя: user

Вариант номер раз — работающий

нам необходимо отредактировать файл

необходимо найти и добавить после записи:

После этого, можем заходить под пользователем user и набирать:

Система больше не будет спрашивать пароль

Вариант номер два — правильный

В принципе, все тоже самое, но нам необходимо создать файлик с содержимым

Также у этого файла должны быть определенные права доступа

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

система пароль спрашивать не будет
Именно этот вариант является более предпочтительным т.к. позволяет контролировать кому и какие права доступа установлены.

Таким образом можно выдавать права определенному пользователю на выполнение определенных действий, без предоставления административных прав на всю систему.
Например: Нам необходимо предоставить права доступа на перезапуск сервиса memcached пользователю vasia, но мы не ходим его делать админом всей системы, но для выполнения этой операции требуются административные привилегии, мы их можем выдать только на выполнение одной операции.
Создаем файл:

Читать еще:  В приложении установка пакета произошла ошибка

Теперь пользователь vasia имеет права sudo на перезапуск сервиса memchached, система не будет требовать от него пароль.

Пойдем еще дальше, а что если пользователю vasia необходимо предоставить права на несколько действий, без админсиких права на всю систему, например, нам необходимо разрешить перезапск определенного сервиса и обновление списка пакетов и установку обновлений системы, тогда файл с содержимым принимает вид:

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

Отбираем права у пользователя

Отзыв привилегий в системе производится путем удаления этого файла из директории:

После этого, пользователь vasia, потеряет административный доступ.

Для группы, права предоставляются аналогичным образом, например у нас есть группа powerusers мы хотим предоставить члеманм этой группы права на перезапуск сервисов и обновления системы без предоставления полного административного доступа, тогда создадим файл

Добавим запись вида:

Где:
%powerusers — название группы

Как включить (отключить) автоматический вход в систему в Linux Mint?

Всем привет! В данной заметке мы с Вами разберем возможность включения и отключения автоматического входа в систему в операционной системе Linux Mint. Автоматический вход в систему – это функция, которая позволяет включать компьютер от имени заранее определенного пользователя, другими словами, Вам не нужно выбирать пользователя и вводить пароль.

Итак, давайте приступать. Допустим, на компьютере у Вас установлена операционная система Linux Mint 18.1 и у Вас возникла необходимость включить функцию автоматического входа или наоборот отключить ее, например, за Вашим компьютером работает несколько пользователей, и Вы хотели бы, чтобы каждый из них работал от имени своей учетной записи, которая имела бы свой уникальный пароль. О том, как создавать дополнительных пользователей и для чего это нужно мы с Вами разговаривали в статье — «Как создать пользователя в Linux Mint?».

Примечание! У меня Linux Mint 18.1 со средой рабочего стола Cinnamon, в других графических оболочках интерфейс Linux Mint будет немного отличаться от представленного ниже на скриншотах.

Включение автоматического входа в систему в Linux Mint

Для того чтобы включить функцию автоматического входа в Linux Mint необходимо открыть параметры «Окно входа в систему», это можно сделать следующим образом

Меню->Администрирование-> Окно входа в систему

Или, запустить компонент «Параметры системы» и в нем найти и открыть пункт «Окно входа в систему».

Затем необходимо ввести пароль для выполнения административных задач, так как изменение параметров системы требует наличие прав администратора.

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

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

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

Отключение функции автоматического входа в систему в Linux Mint

Чтобы отключить автоматический вход необходимо также открыть параметры «Окно входа в систему» в «Параметрах системы» и убрать галочку с пункта «Включить автоматический вход в систему».

Теперь при включении компьютера у Вас будет появляться окно входа в систему, где Вам необходимо будет выбирать пользователя и вводить пароль.

На заметку! Если Вы обычный пользователь домашнего компьютера и хотите познакомиться с Linux поближе, рекомендую почитать мою книгу – « Linux для обычных пользователей », в ней я подробно рассказываю про основы операционной системы Linux

Все, надеюсь, материал был Вам полезен, пока!

Ссылка на основную публикацию
Adblock
detector