Исправление ошибки «user is not in the sudoers file. This incident will be reported» в Ubuntu. User отсутствует в файле sudoers данное действие будет занесено в журнал
Возвращаем доступ к sudo
Вчера я совершенно случайно сам у себя отобрал права на sudo в ubuntu. Ниже написано как я это сделал и как починил.
Главной причиной послужила моя не внимательность и изрядное количество пива в организме. Видимо надо переходить на безалкогольные напитки, к тому же кока-кола выпустила пиво. Потом можете почитать о пиве от коки на BeerPlace.com.ua, возможно с ним не будет таких глупых ошибок, как удаление самого себя из группы sudo.
А отобрал права на sudo командой:
sudo usermod -G vboxusers имя_пользователя
Вот так, забыв маленький ключик «-a», я удалил себя из всех остальных групп кроме виртуалбоксовской.
Правильная команда на добавления пользователя в группу: sudo usermod -a -G vboxusers имя_пользователя
В результате моей ошибки при любой команде начинающийся с sudo мне писали:
zegi is not in the sudoers file. this incident will be reported
Вернуть права можно отредактировав файл /etc/sudoers и вписать после строчки с sudo имя пользователя и ALL=(ALL:ALL) ALL. Должно быть примерно так:
%sudo ALL=(ALL:ALL) ALLzegi ALL=(ALL:ALL) ALL
Проблема в том, что для редактирования файла /etc/sudoers нужен доступ к sudo. Если у нас есть ещё один пользователь с правами к sudo, то логинимся за него (Cntl+Alt+F2) и редактируем файл /etc/sudoers
sudo nano /etc/sudoers
А вот если второго пользователя нет, то нам понадобится LiveCd. Загружаемся с него и монтируем наш диск с линуксом.В начале создаём папку, куда примонтируем диск
sudo mkdir /mnt/lin
Теперь монтируем диск в свежесозданную папку
sudo mount /dev/sde4 /mnt/lin
Узнать под какой буквой у нас винтчестер(/dev/sde /dev/sda /dev/sdb и т.п.) можно командой:
ls -l /dev/disk/by-label/
после успешного монтирования можно редактировать файл /etc/sudoers
sudo nano /mnt/lin/etc/sudoers
sudo umount /dev/sde4 /mnt/lin
Перезагружаемся в нормальную систему. Доступ к sudo должен вернуться.
P.S.: Я долго подбирал картинку к статье. В итоге выбрал эту картинку… она лучше всего ассоциируется с тем состоянием в котором я щас.
Похожие статьи:
tuksik.ru
Имя пользователя не находится в файле sudoers. Этот инцидент будет сообщен Flip Linux
Я запускаю Ubuntu 12.04 на своем ноутбуке с помощью VMware Player. Я не уверен, почему, но у меня есть учетная запись «Учетная запись пользователя» в дополнение к моей учетной записи, которую я обычно использую для использования Ubuntu. Ну, это был только побочный комментарий, но в основном все, что я пытаюсь сделать, это установить библиотеку ncurses на Ubuntu. Я попытался установить ncurses, используя следующие строки comand:
sudo apt-get install libncurses5-dev sudo apt-get install ncurses-devКогда я дважды пытался использовать ncurses, используя приведенные выше команды, я получил следующее сообщение в терминале:
[sudo] password for usernameДо сих пор я пытался включить учетную запись пользователя root («Суперпользователь»), следуя инструкциям по этой ссылке: https://help.ubuntu.com/community/RootSudo
Вот некоторые из предложенных ссылок:
Разрешить другому пользователю запускать sudo. Введите в командной строке следующее:
sudo adduser имя пользователя sudo
Или
sudo adduser имя пользователя sudo
вход в систему как другой пользователь. Введите в командной строке следующее:
sudo -i -u имя пользователя
Включение учетной записи root. Введите в командной строке следующее:
sudo -i
Или
sudo passwd root
Я пробовал все вышеперечисленные командные строки и после ввода каждой команды мне было предложено ввести пароль. После ввода пароля я получил то же сообщение, что и при попытке установить ncurses:
fsolano is not in the sudoers file. This incident will be reported.Следуйте ссылке, чтобы сбросить пароль администратора [звучит так, как вы назвали свою учетную запись администратора пользователя как «пользователь» :)]
https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password
После этого войдите в систему как пользователь admin и выполните следующее.
sudo usermod -aG sudo,adm fsolanoТеперь вы можете войти в систему как «fsolano», и вы сможете запустить команду sudo.
Чтобы решить эту проблему, я сделал следующие шаги:
- перейдите в домашнюю директорию, запустив команду « cd - »
-
затем введите « su - »
он попросит вас ввести пароль, а затем введите пароль для входа в систему, который будет находиться в корневом пользователе.
-
затем добавьте
username ALL=(ALL) ALLsudoers
-
Сохранить и выйти
Список конфигурационных файлов /etc/sudoers , которому разрешено запускать команды в качестве пользователя.
На ubuntu этот файл содержит строку, позволяющую всем пользователям группы sudo запускать команды как пользователь root .
Чтобы проверить, какие пользователи находятся в группе sudo, вы можете ввести getent group sudo . Вы также можете проверить группы вашего текущего пользователя, набрав id .
Вероятно, ваш текущий пользователь не находится в группе sudo и поэтому не может использовать команду sudo .
Войдите в систему как пользователь с поддержкой sudo, если вы хотите запустить sudo .
Вы также можете добавить пользователя в группу sudo для всех прав доступа:
- Переход к вашему пользователю корневого каталога sudo su (ubuntu 16.04 LTS)
- Затем введите текущий пароль пользователя
- type sudo adduser <username> sudo где username – имя пользователя, которого вы хотите добавить в список sudoers
- Для проверки того, добавлен ли ваш желаемый пользователь, getent group sudo которая покажет список пользователей sudo
Сделайте это, чтобы сбросить пароль для вашего администратора.
https://help.ubuntu.com/community/LostPassword
Затем вы сможете предоставить разрешение sudo своему постоянному пользователю с помощью
sudo adduser username sudoкак вы разместили в своем исходном вопросе.
Кстати: почему вы устанавливаете ncurses? Вы что-то компилируете?
Если у вас есть другой пользователь root / admin, чем «fsolano», это не в файле sudoers. Сообщается об этом инциденте:
check sudo enabled users (groups) # getent group sudo sudo:x:27:xyz,abcпоскольку пользователь «fsolano» изменен на стандартного пользователя, и если у вас есть другой привилегированный пользователь root, войдите в систему через корневую систему и измените «fsolano» на администратора, используя «Учетные записи пользователей».
У меня такая же проблема с Kali в любое время, когда я хочу добавить newuser в группу sudo, набрав эту команду:
usermod -aG sudo newuserи редактирование правого раздела в /etc/sudoers . Все дерьмо!
Мое исправление для этой глупости заключается в том, чтобы скопировать строку под корень ниже нее и изменить корень на newuser:
# User privilege specification root ALL=(ALL:ALL) ALL newuser ALL=(ALL:ALL) ALLЯ помню, как обычный метод работал с usermod, но это ошибка в последние пару лет? это действительно вздор. во всяком случае, если у кого-то есть лучший ответ, поделитесь им пожалуйста 🙂
Самый простой способ добавить пользователя в файл sudoers – выполнить команду ниже, как пользователь с разрешением на выполнение gpasswd :
sudo gpasswd -a username sudofliplinux.com
Как редактировать файл Sudoers на Ubuntu и CentOS
Анархия всегда приводит к абсолютизму (Наполеон I).
Специальный пользователь, который называется root, имеет привилегии “super-user”. Это административная учетная запись без ограничений, которая присутствуют у обычных пользователей. Пользователи могут выполнять команды с привилегиями “super-user” или “root” в ряде различных способов.
В этой статье мы рассмотрим, как правильно и надежно получить привилегии root, с особым акцентом на редактирование файла /etc/sudoers.
Мы завершим эти шаги на сервере Ubuntu 16.04, но большинство современных дистрибутивов Linux должны действовать таким же образом.
Это руководство предполагает, что вы уже завершили первоначальную настройку сервера. Войдите на свой сервер через ssh как обычный, не суперпользователь.
Как получить привилегии суперпользователя
Войти как root
Самый простой и наиболее прямой метод получения привилегий root просто войти на свой сервер как пользователь root с самого начала.
При входе в локальную машину, просто введите “root” в качестве имени пользователя при входе в систему строке и введите пароль root, когда его спросили.
При входе через SSH, укажите пользователя root перед IP – адресом или имя домена в строке подключения SSH:
ssh root@server_domain_or_IP
ssh root@server_domain_or_IP |
Если вы не настроили ключи SSH для пользователя root, введите пароль root при появлении соответствующего запроса.
Используйте “su”, чтобы стать root
Входить в систему, как root не рекомендуется, потому что легко начать использовать систему для неадминистративных задач, что является опасным.
Следующий способ получения привилегии суперпользователя позволяет стать пользователем root в любое время, когда вам нужно.
Мы можем сделать это, вызвав команду su, которую указывают перед пользователем. Для того, чтобы получить привилегии root, просто наберите:
Вам будет предложено ввести пароль пользователя root, после чего вы попадёте в сессию root оболочки.
После завершения задачи, которые требуют привилегий root, возврат к нормальной оболочки, набрав:
Используйте “sudo” для выполнения команд, как root
Окончательный, и самый сложный, способ получения привилегий root, которые мы обсудим это с командой sudo.
Команда sudo позволяет выполнить однократные команды с привилегиями root, без необходимости плодить новую оболочку. Она выполняется следующим образом :
В отличие su, то команда sudo будет запрашивать пароль пользователя, команду вызывающего, а не пароль root.
Из – за ее последствий для безопасности, доступ sudo не предоставляется пользователям по умолчанию, и должен быть установлен до того, как будет функционировать правильно. Если вы следовали руководству первоначальной настройки сервера, вы уже закончили конфигурацию.
В следующем разделе мы рассмотрим, как изменить конфигурацию более подробно.
Что такое visudo?
Команда sudo настраивается с помощью файла, расположенного по адресу /etc/sudoers.
Предупреждение
Никогда не редактируйте этот файл обычным текстовым редактором! Всегда используйте команду visudo вместо этого!
Из – за неправильного синтаксиса в файле /etc/sudoers может оставить вас с системой, где невозможно будет получить повышенные привилегии, важно использовать команду visudo для редактирования файла.
Команда visudo открывает текстовый редактор, как нормальный, но он проверяет синтаксис файла при сохранении. Это позволит избежать ошибок конфигурации от блокирующих операций sudo, которые могут быть вашим единственным способом получения привилегий root.
Традиционно открывает visudo файл /etc/sudoers с текстовым редактором vi. Ubuntu, однако, настроен использовать visudo текстовый редактор nano вместо этого.
Если вы хотели бы изменить его обратно на vi, выполните следующую команду:
sudo update-alternatives --config editor
sudo update-alternatives --config editor |
Output
There are 4 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /bin/nano 40 auto mode 1 /bin/ed -100 manual mode 2 /bin/nano 40 manual mode 3 /usr/bin/vim.basic 30 manual mode 4 /usr/bin/vim.tiny 10 manual mode Press <enter> to keep the current choice[*], or type selection number:
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status ------------------------------------------------------------ * 0 /bin/nano 40 auto mode 1 /bin/ed -100 manual mode 2 /bin/nano 40 manual mode 3 /usr/bin/vim.basic 30 manual mode 4 /usr/bin/vim.tiny 10 manual mode
Press <enter> to keep the current choice[*], or type selection number: |
Выберите номер, который соответствует выбору, который вы хотели бы сделать.
На CentOS, вы можете изменить это значение, добавив следующую строку в файл ~/.bashrc:
export EDITOR=`which name_of_editor`
export EDITOR=`which name_of_editor` |
Файл Source, чтобы осуществить изменения:
После того, как вы настроили visudo, выполните команду , чтобы получить доступ к файлу /etc/sudoers:
Как изменить файл sudoers
Вам будет предложен файл /etc/sudoers в выбранном текстовом редакторе.
Мы скопировали и вставили файл с Ubuntu 16.04, комментариями удалены. В CentOS файл /etc/sudoers имеет много больше строк, некоторые из которых мы не будем обсуждать в этом руководстве.
/etc/sudoers
Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" root ALL=(ALL:ALL) ALL %admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALL #includedir /etc/sudoers.d
Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
|
По умолчанию
Первая строка, “Defaults env_reset”, сбрасывает терминальную среду, чтобы удалить любые пользовательские переменные. Это мера безопасности используется для очистки потенциально вредных переменных из сессии sudo.
Вторая линия, Defaults mail_badpass, сообщает системе по почте уведомления о плохих попыток ввода пароля sudo на настроенный пользователем mailto. По умолчанию это учетная запись root.
Третья линия, которая начинается с “Defaults SECURE_PATH = …”, определяет PATH (место в файловой системе операционной системе будет выглядеть для приложений) , которые будут использоваться для операций sudo. Это предотвращает пользователей с использованием путей, которые могут быть вредными.
Привилегированный пользователь
Четвертая строка, которая диктует пользователю root привилегии sudo, отличается от предыдущих линий. Давайте посмотрим на то, что означают различные поля:
- root ALL=(ALL:ALL) ALLПервое поле указывает имя пользователя, которое будет применяться правило к ( root).
- demo ALL=(ALL:ALL) ALLПервый “ALL” указывает на то, что это правило применяется ко всем узлам.
- demo ALL=(ALL:ALL) ALLЭто “ALL” указывает на то, что пользователь root может запустить команды в качестве всех пользователей.
- demo ALL=(ALL:ALL) ALLЭто “ALL” указывает на то, что пользователь root может выполнять команды, как все группы.
- demo ALL=(ALL:ALL) ALLПоследний “ALL” указывает на то, что эти правила применяются ко всем командам.
Это означает, что наш пользователь root может выполнить любую команду с помощью sudo до тех пор , пока они обеспечивают свой пароль.
Группа Privilege
Следующие две строки похожи на привилегии root, но они задают правила для групп sudo.
Имена, начинающиеся с “%” обозначают имена групп.
Здесь мы видим, что группа “admin” может выполнить любую команду от имени любого пользователя на любом хосте. Кроме того, группа sudo может имеет те же привилегии, но может выполняться в любой группе.
Включение /etc/sudoers.d
Последняя строка может выглядеть следующим комментарием на первый взгляд:
/etc/sudoers
. . . #includedir /etc/sudoers.d
. . .
#includedir /etc/sudoers.d
|
Файлы в этой папке следуют тем же правилам, что и сам файл /etc/sudoers. Любой файл, который не заканчивается на ~ и не имеет . в нем будут читаться и применяться к конфигурации sudo.
Это в основном предназначено для приложений, чтобы изменить привилегии sudo при установке. Ввод всех соответствующих правил в пределах одного файла в каталоге /etc/sudoers.d может сделать его легко увидеть, какие привилегии связаны с которыми приходится и нейтрализация учетные данные легко, без необходимости, чтобы попытаться манипулировать файл /etc/sudoers напрямую.
Как и сам файл /etc/sudoers, вы всегда должны редактировать файлы в каталоге /etc/sudoers.d с visudo. Синтаксис для редактирования этих файлов будет выглядеть так:
sudo visudo -f /etc/sudoers.d/file_to_edit
sudo visudo -f /etc/sudoers.d/file_to_edit |
Как дать пользователю привилегии Sudo
Наиболее распространенной операцией, которую пользователи хотят, чтобы выполнить при управлении с правами sudo заключается в предоставлении нового общего пользовательского sudo доступа. Это полезно, если вы хотите дать полный административный доступ к системе.
Самый простой способ сделать это на системе, созданной с общей целью группы администрирования, как системы Ubuntu в данном руководстве, на самом деле просто добавить пользователя в вопрос к этой группе.
К примеру, на Ubuntu 16.04, то группа sudo имеет полные права администратора. Мы можем предоставить пользователю такие же привилегии, добавляя их к группе, примерно так:
sudo usermod -aG sudo username
sudo usermod -aG sudo username |
Команда gpasswd также может быть использована:
sudo gpasswd -a username sudo
sudo gpasswd -a username sudo |
Они оба будут делать то же самое.
На CentOS, это, как правило, группа wheel вместо группы sudo:
sudo usermod -aG wheel username
sudo usermod -aG wheel username |
Или, используя gpasswd:
sudo gpasswd -a username wheel
sudo gpasswd -a username wheel |
На CentOS, при добавлении пользователя к группе не сразу работает, вам, возможно, придется отредактировать файл /etc/sudoers имя группы:
/etc/sudoers
. . . %wheel ALL=(ALL) ALL . . .
. . . %wheel ALL=(ALL) ALL
. . .
|
Как настроить пользовательские правила
Теперь, когда мы стали знакомы с общим синтаксисом файла, давайте создадим некоторые новые правила.
Как создать aliases
Файл sudoers может быть организован более легко группируя вещи с различными видами “aliases”.
Например, мы можем создать три различные группы пользователей, с дублированием членства:
/etc/sudoers
. . . User_Alias GROUPONE = abby, brent, carl User_Alias GROUPTWO = brent, doris, eric, User_Alias GROUPTHREE = doris, felicia, grant . . .
. . . User_Alias GROUPONE = abby, brent, carl User_Alias GROUPTWO = brent, doris, eric, User_Alias GROUPTHREE = doris, felicia, grant . . .
|
Имена групп должны начинаться с заглавной буквы. Затем мы можем разрешить членам GROUPTWO обновить apt базу данных путем создания правила, как здесь:
/etc/sudoers
. . . GROUPTWO ALL = /usr/bin/apt-get update . . .
. . . GROUPTWO ALL = /usr/bin/apt-get update . . .
|
Если мы не указываем пользователя/группу для запуска, как указано выше, по умолчанию sudo к пользователю root.
Мы можем позволить членам GROUPTHREE выключать и перезагружать машину, создав “команду alias” и используя в правиле для GROUPTHREE:
/etc/sudoers
. . . Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart GROUPTHREE ALL = POWER . . .
. . . Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart GROUPTHREE ALL = POWER . . .
|
Мы создаем команду псевдоним с именем POWER которое содержит команды для выключения питания и перезагрузки машины. Затем мы позволяем членам GROUPTHREE выполнить эти команды.
Мы также можем создать “Запуск от имени” псевдонимами, которые могут заменить часть правила, которая определяет пользователя, чтобы выполнить команду, так:
/etc/sudoers
. . . Runas_Alias WEB = www-data, apache GROUPONE ALL = (WEB) ALL . . .
. . . Runas_Alias WEB = www-data, apache GROUPONE ALL = (WEB) ALL . . .
|
Это позволит любому, кто является членом GROUPONE для выполнения команд в качестве пользователя www-data или пользователя apache.
Просто имейте в виду, что более поздние правила будут переопределять более ранние правила, когда возникает конфликт между ними.
Как заблокировать правила
Есть несколько способов, когда вы можете добиться большего контроля над тем, как sudo реагирует на вызов.
Команда updatedb, связанная с пакетом mlocate относительно безвредны на однопользовательской системе. Если мы хотим, чтобы пользователи могли выполнить его с привилегиями root без необходимости вводить пароль, мы можем создать правило, следующим образом:
/etc/sudoers
. . . GROUPONE ALL = NOPASSWD: /usr/bin/updatedb . . .
. . . GROUPONE ALL = NOPASSWD: /usr/bin/updatedb . . .
|
NOPASSWD является “тэг”, это означает, что пароль не будет предложен. Он имеет команду под названием PASSWD, которая является поведением по умолчанию. Тег имеет важное значение для остальной части правила, если оно не будет отменено меткой “twin” позже вниз по линии.
Например, мы можем иметь такую строку:
/etc/sudoers
. . . GROUPTWO ALL = NOPASSWD: /usr/bin/updatedb, PASSWD: /bin/kill . . .
. . . GROUPTWO ALL = NOPASSWD: /usr/bin/updatedb, PASSWD: /bin/kill . . .
|
Другой полезный тег NOEXEC, который может быть использован для предотвращения некоторых опасных поведений в определенных программах.
Например, некоторые программы, такие как “less”, могут порождать другие команды, введя это из их интерфейса:
Это в основном выполняет любую команду пользователя выдает его с теми же правами, что и “less” работая под управлением, которые могут быть весьма опасными.
Чтобы ограничить это, мы могли бы использовать такую строку:
/etc/sudoers
. . . username ALL = NOEXEC: /usr/bin/less . . .
. . . username ALL = NOEXEC: /usr/bin/less . . .
|
Различная информация
Есть еще информации, которая может быть полезна при работе с sudo.
Если вы указали пользователя или группу, чтобы “запустить” в конфигурационном файле, вы можете выполнять команды с помощью других пользователей, с помощью флагов “-u” и “-g”, соответственно:
sudo -u run_as_user command sudo -g run_as_group command
sudo -u run_as_user command sudo -g run_as_group command |
Для удобства, по умолчанию, sudo сохранит ваши данные аутентификации в течение определенного количества времени в одном терминале. Это означает, что вам не придется вводить пароль снова, пока этот таймер не закончится.
В целях безопасности, если вы хотите очистить этот таймер, когда вы закончите работать с административными командами, вы можете запустить:
Если же, с другой стороны, вы хотите “prime” команду sudo, так что вам не будет предложено позже, или продлить sudo, вы всегда можете набрать:
Вам будет предложено ввести пароль, который будет кэшируются для последующего использования sudo, пока не истекут временные рамки sudo.
Если вам просто интересно, какие привилегии определены для вашего имени пользователя, вы можете ввести:
Это будет список всех правил в файле /etc/sudoers, которые применяются к вашему пользователю. Это дает вам хорошее представление о том, что вам будет или не будет позволено делать с любым пользователем sudo.
Есть много действий, когда вы будете выполнять команду, и это не получится, потому что вы забыли предварить его sudo. Чтобы избежать необходимости повторно ввести команду, вы можете воспользоваться функциональностью bash, “повторить последнюю команду”:
Двойной восклицательный будет повторять последнюю команду. Мы предшествовало его sudo быстро изменить непривилегированную команду к привилегированному команде.
Вы можете добавить следующую строку в файл /etc/sudoers с visudo:
/etc/sudoers
. . . Defaults insults . . .
. . . Defaults insults . . .
|
Вывод
[sudo] password for demo: # enter an incorrect password here to see the results Your mind just hasn't been the same since the electro-shock, has it? [sudo] password for demo: My mind is going. I can feel it.
[sudo] password for demo: # enter an incorrect password here to see the results Your mind just hasn't been the same since the electro-shock, has it? [sudo] password for demo: My mind is going. I can feel it.
|
Вывод
Теперь вы должны иметь общее представление о том, как читать и изменять файл sudoers, и понять о различных методах, которые можно использовать для получения привилегий root.
Помните, что привилегии супер-пользователя не даются обычным пользователям по известной причине. Крайне важно, чтобы вы поняли, что каждая команда что-то делает, когда вы выполняете с привилегиями root. Не берите на себя ответственность легкомысленно. Знайте, лучший способ использовать эти инструменты для вашего сценария использования, и заблокировать любую функциональность, которая не требуется.
Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!andreyex.ru
User is not in the sudoers file или sudo в Debian
Сколько раз устанавливал Debian, столько раз сталкивался с одним и тем же — настройкой прав пользователя для использования sudo. Каждый раз забывал и приходилось лезть в интернет, и искать решение. Теперь сам пишу, чтобы не искать следующий раз и вам, возможно, пригодится.
В чем суть
Итак, пользователям Ubuntu хорошо известна такая утилита как sudo, без которой вы не сможете ни установить, ни удалить программу, ни внести какие нибудь весомые изменения в работу системы. В Debian же, пользователи вместо sudo, в основном пользуются учётной записью root. Стоит только посмотреть на инструкции или HOWTO для Debian в интернете — всегда строка начинается сразу из aptitude, что подразумевает то, что команду нужно выполнять из-под root. Но как по мне — это не есть совсем правильно, плюс годы использования Ubuntu тоже оставляют свой след. К тому же, до сих пор помню свою первую установку Debian, когда после установки KDE из под рута, в обычном сеансе пользователя у меня не работала звуковая подсистема. Сколько тогда для неопытного было мучений!
Исправляем «User is not in the sudoers file» (способ №1)
Для начала, если sudo у вас не установлен, такое может быть, например, если вы устанавливали лишь базовую систему без графической оболочки — установите его:
aptitude install sudoКак можно догадаться, это делается из под рута. В других случаях sudo должен установиться с системой. Но на этом ещё не конец. Хоть sudo уже установлен, при попытке что нибудь сделать с его использованием, например проверить обновления, терминал выдаст сообщение что user is not in the sudoers file. Чтобы исправить это, существует несколько вариантов действий.
До недавнего времени я соглашался с терминалом и добавлял пользователя, то есть себя, в файл sudoers. Для изменения sudoers файла есть специальная утилита visudo, запускается она командой:
visudoВ открывшимся файле нужно найти строчку:
root ALL=(ALL) ALLИ под ней необходимо добавить такую же, только вместо root пишем свое имя пользователя (username замените на свое):
username ALL=(ALL) ALLПосле этого сохранением файл, выходим из visudo, перелогиниваемся и можем пользоваться sudo — ошибка «User is not in the sudoers file» тревожить нас больше не будет. Но так как, по моему мнению, всегда нужно стремится к универсальности, я поступил по другому.
Исправляем «User is not in the sudoers file» (способ №2)
Кроме прямого добавления пользователя в sudoers файл, в него также можно добавлять группы. В данном случае это группа sudo. Процесс добавления группы выглядит точно так же как и добавление пользователя, только вместо имени пользователя нужно вписать группу sudo. Выглядеть это будет так (для обозначения того, что вы добавляете группу, а не пользователя, перед sudo нужно поставить без пробелов знак процента):
%sudo ALL=(ALL) ALLНо на самом деле добавлять эту строчку не всегда необходимо потому, как зачастую она уже есть в sudoers. Если это так, то sudoers трогать не надо а нужно лишь добавить себя в группу sudo командой:
adduser username sudoГде username — логин пользователя. Затем перелогин и можно работать.
Чем такой способ лучше чем первый? Ну во-первых — так проще. Если группа sudo прописана в sudoers, нужно всего лишь выполнить одну команду в терминале. А во-вторых — такой способ более универсальный, ведь если вы, к примеру, добавите в систему нового пользователя, которому нужно будет sudo, вам всего лишь нужно будет добавить его в группу, не трогая при этом sudoers.
На этом все. Если кому поможет буду рад.
Следующая запись Яркость экрана при загрузке Ubuntu
Метки DebianНастройка Linux
geekkies.in.ua
Как добавить пользователя в sudoers. Команда sudo в Linux.
Одним из самых важных моментов при изучении любой системы является то, как получить права суперпользователя. Как делать то, что не могут обычные смертные? Как раз для этого и существует команда sudo. С помощью нее вы можете делать в системе все что угодно – запускать любые приложения, читать любые файлы и т.д. Но для этого у вас должны быть права на пользование этой командой.
Существует два способа добавления пользователя в sudoers. Рассмотрим первый, наиболее популярный. А именно, с помощью sudoers файла, который находится по адресу /etc/sudoers.
1. Войдите под рутом. Введите команду su и пароль рута:
su -2. Откройте на редактирование sudoers файл (я использую vi, вы можете любой другой редактор):
vi /etc/sudoers3. Добавьте строчку, которая выделена жирным, заменив sergey на имя вашего пользователя:
root ALL=(ALL:ALL) ALL sergey ALL=(ALL:ALL) ALL4. Сохрание sudoers файл, выйдите из-под рута.
Теперь вы можете использовать команду sudo, например:
sudo vi /etc/sudoersДалее введя пароль своего пользователя, вы открываете файл как бы из под рута, т.е. на выполнение этой команды вам дают супер привилегии.
Теперь давайте рассмотрим различные полезные функции команды sudo.
Заставить sudo спрашивать пароль каждый раз
По умолчанию, при запуске sudo ваш пароль запоминается на 15 минут. И если в течение этого времени вы вводите sudo еще раз, то пароль не спрашивается. Но иногда бывает полезно отключать эту функцию. Например, вы запускаете какую-то команду для друга и хотите чтобы сразу после этого sudo забыл введенный пароль. Для этого используйте параметр -k:
sudo -k vi /etc/sudoersПолностью отключить запоминание пароля
Для этого вы можете открыть /etc/sudoers и добавить туда параметр timestamp_timeout=0:
Defaults env_reset Defaults mail_badpass Defaults timestamp_timeout=0Также вы можете менять время запоминания пароля sudo, указывая timestamp_timeout, например timestamp_timeout=5, что соответствует 5 минутам.
Никогда не спрашивать пароль sudo
Для этого откройте файл /etc/sudoers и измените строчку для нужного пользователя, добавив параметр NOPASSWD:
sergey ALL=(ALL:ALL) NOPASSWD:ALLТеперь при вводе команды sudo пользователем sergey пароль не будет спрашиваться никогда.
Разрешить только определенные команды sudo
Для этого откройте sudoers файл и измените строчку для конкретного пользователя, перечисляя через запятую команды, которые он может запускать:
sergey ALL=/usr/bin/vi,/usr/bin/apt-getЕще один способ получения прав на запуск sudo
В начале статьи я написал, что существует два способа добавления пользователя в sudoers. Первый мы уже рассмотрели – это редактирование sudoers файла и добавления туда строчек для разных пользователей. Второй способ – вы можете просто добавить вашего пользователя в группу sudo, для этого вам понадобятся права рута:
usermod -a -G sudo sergeyОднако, “групповые” изменения вступят в силу только после перезагрузки, либо после повторного входа в систему.
В заключение, для закрепления материала предлагаю посмотреть данное видео.
Похожие записи:
users.ask-ru.net
Исправление ошибки "user is not in the sudoers file. This incident will be reported" в Ubuntu
OSmaster.org.ua > Linux > Ubuntu > Исправление ошибки «user is not in the sudoers file. This incident will be reported» в Ubuntu
По умолчанию в Ubuntu, первая учетная запись которую вы создали в процессе установки, имеет права администратора системы. С помощью этой учетной записью, вы можете выполнять административные задачи с использованием команды «sudo». Команда «sudo» относится к группе Super User (Супер пользователей), все пользователи в этой группе имеют права администратора для управления системой. Однако, если вы случайно удалили себя из «sudo» группы, вы не сможете ничего сделать. Вместо этого, единственное, что вы увидите, это сообщение: «user is not in the sudoers file. This incident will be reported»
Как исправить эту ошибку:
1. Перезагрузите компьютер. Если Ubuntu является вашей основной и единственной операционной системой, то при загрузке системы нажмите кнопку «Shift». На вашем мониторе должен появиться загрузчик Grub. Выберите режим восстановления и нажмите Enter.
2. В следующем диалоговом сообщении выберите «Check all file system (will exit read only mode)» («Проверить все файловые системы ( режим только для чтения)»).
Когда увидите сообщение «Finished, press Enter», нажмите Enter.
3. Затем выберите «Drop to root shell prompt».
4. Запуститься командная строка. Введите:
usermod -a -G admin usernameЗамените имя пользователя «username» на ваше имя пользователя.
5. Вот и все. Теперь введите «exit» и перезагрузите систему.
В случае если вы испортили файл /etc/sudoers, выполните следующие действия:
Выше описанные шаги предполагают, что ваш etc/sudoers файл не изменялся и не поврежден. Если у вас неправильный файл /etc/sudoers. Вот что вам нужно сделать:
1. Выполните вышеупомянутые первые 3-и шага.
2. В командной строке введите:
sudo cp /etc/sudoers /etc/sudoers.backup sudo nano /etc/sudoersВведите следующие строки в файл
# # 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 # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL #includedir /etc/sudoers.dНажмите «Ctrl + O», чтобы сохранить файл и «Ctrl + X», чтобы выйти.
3. Далее, установите права для файла sudoers:
chmod 440 /etc/sudoers4. Наконец, добавьте себя в Sudo группу:
usermod -a -G admin username5. Перезагрузите систему.
Теперь вы сможете выполнять задачи в режиме «sudo».
Также рекомендую прочитать:
Загрузка...osmaster.org.ua
Настройка Sudo
Sudo — это программа, разработанная в помощь системному администратору и позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы.
Команда sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. В большинстве случаев грамотная настройка sudo делает работу от имени суперпользователя ненужной.
Чтобы настроить sudo, необходимо отредактировать файл /etc/sudoers через Midnight Commander. *
1. Если вы в данный файл добавите такую строку:
# User privilege specificationroot ALL=(ALL) ALLuser ALL=(ALL) ALL
то дадите пользователю user (вы, естественно, пишите своего пользователя) все права пользователя root при выполнении команды sudo (Например, команда sudo mc теперь запустит Midnight Commander сразу от rootа без необходимости ввода su и пароля суперпользователя).
2. Если добавите такие строки:
%admin ALL=(ALL) ALL
то дадите доступ к root-привилегиям всем членам группы admin.
3. Такая конфигурация:
user ALL = /bin/mount, /bin/kill
даст пользователю user права на выполнение от rootа конкретных команд: mount и kill.
4. Исполнение команды от имени другого пользователя делается так:
user ALL = (user2, user3) /usr/bin/ark
Также пользователь user может выполнить команду ark от имени user2 или user3, при помощи ключа u, набрав в консоли:
sudo -u user2 ark
По умолчанию sudo запоминает пароли на 5 минут. Если вы этого не хотите, то для каждого пользователя, группы можно установить отдельное правило, например при:
Defaults:user timestamp_timeout=0
пароль пользователя user не будет запоминаться вообще, а при:
Defaults:user timestamp_timeout=-1
будет запоминаться на все время аптайма.
5. Sudo без паролей также возможно. Для этого нужно вписать такую строку:
user = NOPASSWD: /bin/kill
которая даст возможность пользователю user использовать kill без запроса пароля.
6. Если же прописать такую строку:
user ALL=(ALL) NOPASSWD: ALL
то пользователь user сможет вообще никогда не вводить пароль для выполнения команд от имени root, однако помните, что это делает систему очень уязвимой.
Примечание
* Для редактирования файла /etc/sudoers неопытным пользователям лучше использовать программу visudo, которая проверяет синтаксис и тем самым позволяет избежать ошибок в правилах.
- < Назад
- Вперёд >
pclinuxos.su