Як правильно налаштувати файл sudoers, на debian wheezy?


10

Я бачив багато публікацій у блогах, де сказано, що достатньо зробити

aptitude install sudo
su root
adduser USERNAME sudo

Але це лише захищає aptitude, іншими словами:

  • aptitude install sendmailпопросить пароль, вам потрібно sudoзапуститиaptitude

  • apt-get install sendmailне запитуватиме пароль, не sudoпотрібні пільги

  • Якщо ви редагуєте захищені файли, як і файли в etcньому, не вимагатимуть пароля, не sudoпотрібні привілеї

  • Ви можете запускати та зупиняти такі сервіси, як apache, він не запитуватиме пароль, не sudoпотрібні пільги

Як це виправити? Це мій файл судорів:

 This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

Це вихід sudo -l:

Matching Defaults entries for root on this host:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User root may run the following commands on this host:
    (ALL : ALL) ALL
    (ALL : ALL) ALL

3
Після цього su rootви ввійшли як rootкористувач, тож ви маєте повний доступ до всього. Щоб повернутись до регулярного використання, який доводиться використовувати sudoдля пільгових операцій, вихід з оболонки працює як root.
depquid

Я новачок в Linux, але Debian wiki каже - ім'я користувача adduser sudo wiki.debian.org/sudo
AntiCZ

Відповіді:


16

Ви не додали жодного правила судо, тому не можете використовувати судо ні для чого.

Команда adduser USERNAME sudoдодає вказаного користувача до групи, що викликається sudo. Група з такою назвою повинна існувати; створіть його, addgroup sudoякщо цього немає. Після додавання користувача до групи, користувач повинен вийти з системи та знову ввійти, щоб набути чинності членство в групі.

sudoне є особливою назвою групи. Це умова, щоб дозволити користувачам у групі, закликаної sudoзапускати команди як root через sudoутиліту. Для цього потрібен наступний рядок у sudoersфайлі:

%sudo ALL = (ALL) ALL

Запустіть visudoдля редагування файлу sudoers, не редагуйте його безпосередньо.

Я поняття не маю, чому ви вважаєте, що "це лише захищає здатність". У здібності немає нічого особливого. Після того, як ви дозволили користувач виконувати команди з правами адміністратора, який користувач може запустити sudo aptitude …або sudo apt-get …або sudo service …, або sudoeditдля редагування файлів , які вимагають дозволу кореневого для редагування. Перебуваючи у файлі sudoers, безпосередньо не змінюється привілеїв вашого користувача, але він дозволяє вам sudoзапускати команди для запуску команд як root. Команди виконуються як корінь лише тоді, коли ви їх запускаєте sudo. Деякі програми можуть робити це автоматично, особливо програми графічного інтерфейсу, де користувальницький інтерфейс працює без спеціальних привілеїв і лише бекенд працює як root, але команди, виконані як root, завжди виконуються sudo.


Він запустився sudo -lяк корінь. Навіть якщо є корисні визначення для користувачів, вони не були б показані. Таким чином, ваша здогадка "Ви не додали жодного правила судо" може бути помилковою.
Hauke ​​Laging

@HaukeLaging Я не розумію ваш коментар. "Ви не додали жодного правила судо" - це не здогад: sudoersфайл у питанні.
Жил 'ТАК - перестань бути злим'

Я був близький до депресії, розуміючи, що я занадто зосереджений на sudo -lрезультатах, але на щастя ... Здається, що зміст питання не може бути усім файлом, оскільки він не відповідає результатам. Принаймні моя sudoверсія не стверджує, що "Корінь користувача може виконувати наступні команди" sudoersбез жодного визначення команди (наприклад, у запитанні).
Hauke ​​Laging

@HaukeLaging Ви маєте рацію, я перевірив хрип і дійсно sudo -lпросто говорить: "Користувачеві root не дозволяється запускати sudo на darkstar". А sudoгрупа знаходиться у файлі sudoers за замовчуванням на wheezy. Необхідні записи, можливо, були переміщені у файл під /etc/sudoers.d. У будь-якому випадку, що б не містив файл судорів, він не буде робити те, що передбачає Фішер.
Жил 'ТАК - перестань бути злим'

4

Що може сталося це: Судо кешування пароля. Отже, після того, як ви правильно виконали реалізацію sudo у вашій системі, ви повинні ввести пароль для першої команди, а після цього - кешований протягом деякого часу. Якщо це трапиться і ви запустите послідовність

sudo aptitude install sendmail
sudo apt-get install sendmail

Тоді вам доведеться вказати пароль для першої команди, але не для другої (принаймні, поки ви все ще знаходитесь в режимі очікування). Це може відчувати себе , як він захищає тільки першу команду, але не другий. Без додаткової інформації (повних стенограмів оболонки) немає способу сказати ...


Так. Одне не виключає іншого. Правильна відповідь чудово пояснює, як правильно налаштувати sudo, і в цьому сенсі він відповідає на питання. Це не пояснює, чому, на думку запитання, "це лише захищає здатність". Жил пише сам: "Я поняття не маю, чому ви вважаєте, що" це лише захищає здатність "". Як я вже казав, щоб реально зрозуміти це явище, потрібно більше інформації. Я думаю, що голосування є дещо суворим, враховуючи, що моя відповідь фактично правильна, стосується оригінального питання та заповнює прогалину в існуючій відповіді.
Йозеф

Гарна ідея, це може бути джерелом плутанини Фішера.
Жил 'ТАК - перестань бути злим'

0

Якщо ви будете слідувати вищевказаній відповіді, ви йдете правильним шляхом. Принаймні в моєму Debian Jessie я зробив м'яке посилання на / usr / bin команди в path / sbin. Наприклад: / sbin / ifup, я поставив м'яке посилання (ln -s) на / usr / bin з нього, і я можу його використовувати.

Ще одна важлива річ - поставити NOPASSWD так:

User_Alias NET = goviedo
Cmnd_Alias ETH = /sbin/ifup
NET ALL = NOPASSWD:ETH
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.