Користувача немає у файлі sudoers. Про цей випадок буде повідомлено


24

Мені потрібно встановити пакет. Для цього мені потрібен кореневий доступ. Однак система каже, що я не в архіві sudoers. При спробі відредагувати скарги однаково! Як я повинен додати себе до файлу sudoers, якщо я не маю права редагувати його?

Я встановив цю систему та лише адміністратора. Що я можу зробити?

Редагувати : Я вже спробував visudo. Це вимагає від мене в першу чергу бути в судорах.

amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo 

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for amarzaya: 
amarzaya is not in the sudoers file.  This incident will be reported.
amarzaya@linux-debian-gnu:/$ 

4
Ну, очевидно user not(is) the sudoers file. (Друк у назві)
Hello71,

8
Ви зараз у неслухняному списку - xkcd.com/838
Аарон Ньютон,

Відповіді:


18

Це було б чимось захисним отвором, якби ви могли додати себе, /etc/sudoersне маючи доступу до sudo або root. В основному тоді будь-хто міг прижитися.

В основному вам потрібно попросити адміністраторів цього пристрою додати вас або встановити пакунок для вас, відповідно до політики сайту.

Ви також повинні бути впевнені, що використовуєте visudo для редагування файлу sudoers - він перевіряє правильність синтаксису перед тим, як записати файл. І ви можете використовувати візуальні редактори, крім vi. За замовчуванням він використовуватиме все, що ви встановили, $EDITORі якщо у вас його немає, ви можете це зробити

# EDITOR=nano visudo

використовувати нано редактор.


5
Я адміністратор, оскільки це моя машина, і я встановив цю систему, але це не допомагає :(
Сергій Белозоров

9
Якщо це ваша система, вам слід було ввести пароль для кореневого користувача під час встановлення. Отже, увійдіть як "root", а потім виконайте візуальні речі.
Гаміш Даунер

Справді. Моя провина. Я забув, що тоді я ввів пароль під час встановлення.
Сергій Белозеров

24

Увійдіть як корінь і використовуйте /usr/sbin/visudoдля редагування файлу та додавання свого імені користувача. Звичайний vi / vim не зможе редагувати файл.

Найпростіший спосіб - просто спуститися вниз, поки ви не побачите рядок " root ALL=(ALL) ALL" і додасте себе під цим тим самим синтаксисом ( yourusername ALL=(ALL) ALL). Або ви можете прочитати сторінку судорів, якщо хочете надати собі більш конкретні привілеї.


Це вимагає від мене першочергового списку судерів для запуску візуаду. Я встановив цей Debian, немає іншого адміністратора.
Сергій Белозеров

Якщо ви ввійшли як root, вам не потрібно запускати sudo visudo; просто біжи /usr/sbin/visudo. Але, схоже, ви це вже дізналися, з коментарів інших відповідей.
Ricket

недостатньо, щоб додати відповідного користувача до групи "sudo" чи "sudoers" (залежно від дистрибутива)? На жаль, у моєму випадку це не спрацювало, але я можу присягнути, що це раніше працювало ...?
Грегор

5

Просто наберіть команду:

$ su

І запитав пароль "корінь". Набрав і бум ... Це спрацювало!

Ця проблема була моєю помилкою. Тому що я повернувся в заклад у той час, коли я створив ім’я користувача та пароль.


Дякую, що було дуже корисно і врятувало моє бекон! Мені цікаво, чому просто додавання цієї команди, а потім кореневого пароля дозволило б підвищити привілеї .... Здається, це досить переможе мету повідомлення "Користувач не у файлі sudoers. Про цей інцидент буде повідомлено"
Sol

1

Мабуть, найпростіший спосіб, як тільки ви корінь, це:

echo 'amarzaya ALL=(ALL) ALL' >> /etc/sudoers

7
Ви повинні бути впевнені, що використовуєте visudo для редагування файлу sudoers, а не редагуйте його безпосередньо або повторюючи текст до нього. Це забезпечить його синтаксичну коректність та гарантуватиме, що ви не заблокуєте себе без доступу чи надасте комусь неналежний доступ.
pkaeding

1

Якщо ваш файл sudoers вже містить такий тип рядка

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Тоді, найчистіший спосіб робити це, ймовірно, надання adminгрупи користувачеві. Наприклад, щоб додати користувачеві oracle до admin групи :

usermod -aG admin oracle

Це те, що я шукав. Для мене також найчистіший, не возитися з файлом sudoers.
webjunkie

1
Правильна командаusermod -g oracle admin
kvanberendonck

-1: синтаксис є usermod -g $group $user. Ви, мабуть, думаєте про adduserсинтаксис, який є adduser $user $group.
Blacklight Shining

1
… Насправді ви, швидше за все, захочете usermod -aG $group $user. -gвстановлює основну групу користувача на ту, яку ви вказали, і -Gне -aбуде видаляти користувача з груп, які не вказані у списку. -gтакож змінить групове право власності на всі файли, що належать попередній групі, у домашній каталог користувача. Тож якщо ти схожий на мене, і у тебе розум встановлено 007
Blacklight Shining

1
@BlacklightShining. Ти правий. Неправильний синтаксис був запропонований попереднім коментатором, а оскільки oracleчасто також є групою, дійсно є можливість для плутанини. Я не повинен був "виправлятися".
Ален Паннетьє

-1

Якщо ви все-таки можете отримати кореневий доступ за допомогою su, ви можете скористатися цим одностроєм для додавання себе до /etc/sudoers/:

su -c 'echo $USER ALL=(ALL)ALL >> /etc/sudoers'

Щоб активувати зміни, вийдіть із системи та знову. Наприклад, закінчіть X-сесію або вийдіть через введення оболонки exit.



-1

Якщо ви не можете використовувати sudoкоманду, то ви можете скористатися наступним методом:

  1. Натисніть Ctrl+ Alt+F1
  2. Вийдіть з нього, якщо користувач не має root
  3. Увійдіть як корінь
  4. Використовуйте привілеї root
  5. Вийдіть ( exit) - Ctrl+ Alt+, F7щоб перейти до GUI

-1: Це працює лише в деяких локальних середовищах, які насправді мають графічний інтерфейс.
Blacklight Shining

-1

Все , що вам потрібно , це додати коментар <username>до whellгрупі.

# usermod -aG whell username

Потім увійдіть зі своїм ім'ям користувача та насолоджуйтесь :)


-3

Увійдіть спочатку за допомогою наступних даних:

$ su

Тоді продовжуйте:

$ sudo apt-get update

або як би там не було нормально


1
вам не потрібно su- Судо це робить.
Саймон Шихан

Насправді вони не зовсім те саме. sudo - це "робити як супер користувач", але ви входите з паролем користувача. su - "користувач, що перемикається", і за замовчуванням (без аргументів) він намагається переключитися на кореневого користувача, і в цьому випадку потрібно ввести кореневий пароль. Але ви також правильно - використання sudo after su є зайвим, оскільки ви вже будете користувачем root.
Аарон Ньютон

@ aaron.newton Я б насправді читав його як Switch User і DO; ви можете обрати будь-якого користувача для запуску команди, як і -uпрапор. Це в основному використовується для кореня, але так su.
Blacklight Shining

@ aaron.newton Я б насправді читав його як Switch User і DO; ви можете обрати будь-якого користувача для запуску команди, як і -uпрапор. Це в основному використовується для кореня, але так su.
Blacklight Shining
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.