Увімкніть паролі sudo як конкретний користувач


26

У моїй системі є два користувачі: itsadokголовний мій користувач та elasticsearchкористувач, який має інший доступ для запуску ElasticSearch.

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

Я додав наступний рядок до /etc/sudoers:

itsadok ALL=(elasticsearch:elasticsearch) NOPASSWD: ALL

Наскільки я це розумію, це повинно дозволити користувачеві itadok на будь-якому хості виконувати будь-яку команду як (користувач або групу) elastsearch без пароля. Однак спробувати щось на кшталт

itsadok@dev001$ sudo -u elasticsearch ls

запрошує мене ввести пароль. Перезавантаження машини не допомогло.

Що я роблю неправильно?

ОНОВЛЕННЯ :

Виявляється, що порядок рядків у sudoersзначному. Я розмістив рядок під "Специфікацією привілеїв користувача", яка звучала як потрібне місце, але рядок для %adminгрупи, що з’явиться пізніше, змінив налаштування.

Якщо поставити той самий рядок у кінці файлу Судори, виправлено проблему.

Відповіді:


12

Переглянута відповідь з коментарів: Якщо ви розміщуєте директиви нижче #includedir, вони ігноруються. Перемістіть рядок поруч із визначеннями групи sudoабо в adminгрупі або помістіть її в окремий файл у /etc/sudoers.d/.


Не працювало. Крім того, у файлі вже було root ALL=(ALL:ALL) ALLпробіл навколо товстої кишки, тому він не здається правильним. Щоб бути в безпеці, я намагався просто (elasticsearch). Не працює.
itadok

Ви маєте рацію, вона працює без пробілів принаймні 12.10. Який Ubuntu ви використовуєте та де саме sudoersви розміщуєте цей рядок? У мене є слабкий спогад про те, що якщо в старих системах ви розміщували рядок після першого #includedir, це було проігноровано. Якщо він знаходиться в кінці файлу, спробуйте вставити його над включеним.
Туміноїд

1
Ваш коментар поставив мене на правильний шлях: порядок публікацій має значення. Пізніші налаштування замінюють попередні налаштування.
itadok

16

Виконайте такі дії:

  1. Редагувати файл sudoers (це може бути в /etc/sudoers.d/name_name)
sudo visudo -f /etc/sudoers
  1. Додайте рядок в кінці файлу
usernameusedforlogin ALL=(ALL) NOPASSWD:ALL
  1. Зберегти файл
esc :wq!

Це дозволяє користувачеві виконувати всі команди на всіх хостах без паролів, як будь-який користувач, але він не дає жодних групових привілеїв, що було частиною оригінального питання. Як правило, це погана порада, оскільки ви надаєте користувачеві дуже широкі привілеї.
d4nyll
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.