Sudo не работает ubuntu

Как вернуть sudo на Ubuntu?

, и теперь я не могу использовать команду sudo из-за этой ошибки:

sudo: должен быть установлен root root

И поскольку я читаю это, значит, владелец этого файла /usr/bin/sudo не является корневым. Это мой пользователь сейчас из-за chown в папке /usr .

На многих форумах и блогах люди предлагают сделать это как root:

. но проблема в том, что мне нужно войти в систему как root, но я не могу, потому что, если я пишу su в терминале неверный пароль (на самом деле я использую пароль, который добавил к моему пользователю):

Итак, могу ли я вернуть команду sudo ?

Изменить: мой Ubuntu находится под Paralells на моей Mac OS X.

5 ответов

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

Самый быстрый способ — переустановка ОС или восстановление из резервной копии.

В Ubuntu или аналогичном, по умолчанию нет пароля root (учетная запись отключена), поэтому вы не можете su .

Поскольку у вас есть права доступа только к тому, что дает вам доступ к корневому уровню, вам понадобится помощь от OUTSIDE текущей среды программного обеспечения, чтобы исправить это.

Я предлагаю, чтобы самым простым способом было загрузить LiveCD для вашего дистрибутива, смонтировать диск и изменить права доступа к файлу с помощью chmod , который вы указали оттуда.

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

Помните, что обычно все вещи в каталоге /usr/ должны принадлежать root , чтобы вы могли просто сделать рекурсивный chown , чтобы исправить все, что вы сломали. ( Изменить: В комментариях к @Gilles явно работает chown разбивает биты setuid и setgid, поэтому вы необходимо вручную сравнить с существующей системой, чтобы восстановить все те, которые были исправлены после исправления права собственности.)

Однако очень FEW должен быть 4111 . Этот дополнительный — это специальные разрешения, но это делает его исполняемым как root даже при запуске в качестве пользователя! Только sudo и несколько команд должны иметь этот бит разрешения. Если вы не запускали chmod , чтобы начать с вас, вероятно, не нужно исправлять это вообще , все разрешения должны быть уже правильными. Не запускайте большую операцию chmod , не зная, какие должны быть все разрешения.

В режиме восстановления Ubuntu введите следующие команды:. Это исправлено для меня.

Надеюсь, что это исправит вашу проблему. (или кто-то еще)

Я нашел это здесь в этом сообщение в блоге .

Это намного проще, чем другие ответы. Нет необходимости форматировать, перезагружать или использовать Live CD.

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

  • Используя команду 1 (su root) , мы меняем пользователя на root без использования sudo.
  • Используя команду 2 (chown root: root /usr /bin /sudo & & chmod 4755 /usr /bin /sudo) , мы фиксируем разрешения /права собственности на sudo.
  • Используя команду 3 (exit) , мы возвращаемся к исходному пользователю.

Я тестировал этот метод на Mint Linux. Какая система ubuntu. Сообщите мне, что этот метод не работает ни на одной другой ОС. Будет соответствующим образом обновлен ответ.

Чтобы войти в систему как root, без su или sudo, вы можете использовать pkexec:

Читайте также:  Один наушник не работает беспроводной хайям

Источник

sudo не работает

Столкнулся вот с такой странной проблемой:

Делаешь ‘sudo ls’ — и сколько не вводишь пароль — все неправильно.

Делаешь ‘su -c «ls» ‘ — и все нормально.

В каком направлении копать?

Re: sudo не работает

> и сколько не вводишь пароль
Чей пароль ?

Re: sudo не работает

1. войти под su с паролем суперпользователя и отредактировать sudoers через visudo
2. выполнить команду sudo ls введя свой пароль (или вообще без пароля, если в sudoers прописано NOPASSWD)

Re: sudo не работает

Re: sudo не работает

Re: sudo не работает

> 1. войти под su с паролем суперпользователя и отредактировать sudoers через visudo

> 2. выполнить команду sudo ls введя свой пароль (или вообще без пароля, если в sudoers прописано NOPASSWD)

Я не говорю, что конкретно надо выполнить ls. Много чего надо выполнять. Проблема в том, что sudo как таковой не работает.

P. S. То, что прописано в sudoers NOPASSWD работает без проблем (и без пароля соответственно)

Re: sudo не работает

Re: sudo не работает

> sudo работает, а ты, ну что тут поделаешь, ламер.

Ламер (от англ. lamer) — жаргонное или сленговое прозвище человека, полностью некомпетентентного в той или иной области, но твёрдо уверенного в обратном

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

Источник

Возвращаем доступ к sudo

Вчера я совершенно случайно сам у себя отобрал права на sudo в ubuntu. Ниже написано как я это сделал и как починил.

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

А отобрал права на sudo командой:

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

Правильная команда на добавления пользователя в группу: sudo usermod -a -G vboxusers имя_пользователя

В результате моей ошибки при любой команде начинающийся с sudo мне писали:

Вернуть права можно отредактировав файл /etc/sudoers и вписать после строчки с sudo имя пользователя и ALL=(ALL:ALL) ALL. Должно быть примерно так:

Проблема в том, что для редактирования файла /etc/sudoers нужен доступ к sudo. Если у нас есть ещё один пользователь с правами к sudo, то логинимся за него (Cntl+Alt+F2) и редактируем файл /etc/sudoers

А вот если второго пользователя нет, то нам понадобится LiveCd. Загружаемся с него и монтируем наш диск с линуксом.
В начале создаём папку, куда примонтируем диск

Теперь монтируем диск в свежесозданную папку

Узнать под какой буквой у нас винтчестер(/dev/sde /dev/sda /dev/sdb и т.п.) можно командой:

после успешного монтирования можно редактировать файл /etc/sudoers

Вносим изменения, сохраняем файл(Cntl+x > Y > enter) и отмонтируем диск:

Перезагружаемся в нормальную систему. Доступ к sudo должен вернуться.

P.S.: Я долго подбирал картинку к статье. В итоге выбрал эту картинку… она лучше всего ассоциируется с тем состоянием в котором я щас.

Похожие статьи:

Поделись статьёй с друзьями

Твиттер

Facebook

Вконтакте

Одноклассники

Google

Или просто поиграйся с кнопочками

5 комментариев на «Возвращаем доступ к sudo»

А через su нельзя сделать? su (или su root, одно и то же), пароль свой и уже потом править судоэрс (желательно, кстати, через команду visudo, а не вручную. Но тут одна тонкость — редактирование запускается в vim, что для пользователя убунты катастрофа:)? Не могу проверить это на практике, не хочу ломать судоэрс, но может и поможет. Получить рут-шелл введя пароль СВОЙ возможно, сейчас проверил, но у меня, конечно, нормальный судоэрс. Хотя есть подозрение, что у рута просто тот же пароль, что и у пользователя первого.

Алсо, если есть другой пользователь, то поможет тот же su, зачем же переключаться куда-то в другую консоль? su имя_пользователя, пароль, правка судоэрс, exit, профит.

Читайте также:  Как отремонтировать лягушку тормоза

И еще из арчвики при установке его узнал вдруг, что, например, %sudo — означает «группа (символ %) sudo». То есть идеологически более правильно не записывать всех пользователей, которым нужен sudo, в судоэрс, а добавить их просто в соответствующую группу. Но это так, ерунда.

Спасибо за развёрнутый комментарий. Щас протестировал способ с su в ubuntu на новом пользователе… всё равно остаются права юзера, а не рута.
Я на самом деле только вчера узнал, что нельзя просто залогинится под рутом в ubuntu. Как пример:
su root
Пароль:
su: Сбой при проверке подлинности

а su -l я через ету командк правлю/удаляю все что угодно

перегрузится в revovery, а там root и делай что хочешь.
я так испортил sudoers (ошибку сделал) и так исправлял.

А не проще загрузиться с другими параметрами ядра и спокойно поменять всё как нужно?
… ro quiet rw init=/bin/bash

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

Для отправки комментария вам необходимо авторизоваться.

Источник

Установка и настройка sudo в Debian GNU/Linux и Ubuntu Linux

Копия статьи с ныне мёртвого проекта debian-ubuntu-linux.ru.
Обратите внимание, что я всего лишь скопировал статью сюда — я не правил её, и не имею никакого отношения к её содержимому (более того, с некоторыми моментами я категорически не согласен). С другой стороны, я считаю эти статьи полезными для новичка, и потому копирую их.
Все авторские права принадлежат Дмитрию Белоусову.

…По умолчанию в Debian GNU/Linux пакет sudo отсутствует. Установка sudo — это, по глубокому убеждению автора, перовое, что необходимо сделать после завершения установки базовой системы Debian GNU/Linux. У пользователей Ubuntu Linux sudo установлен по умолчанию, однако тоже может потребовать конфигурации.

I.Установка sudo из репозиториев Debian GNU/Linux.

II.Базовая настройка sudo.

Sudo — очень гибкий инструмент, позволяющий настроить права на выполнения административных действий для каждого пользователя отдельно. Например одному разрешить перезагружать какой-либо сервер, а другому дать возможность менять права доступа к файлам и папкам. Откройте файл /etc/sudoers . Это можно сделать либо отдав команду на открытие файла в вашем любимом текстовом редакторе, например так:

либо при помощи утилиты visudo :

Последний способ откроет файл /etc/sudoers в редакторе пользователя по умолчанию, или если таковой не задан, то в редакторе vi. Преимущество данного способа в том, что при сохранении файл будет проверен на соответствие синтаксису.

Простейшая конфигурация выглядит так:

Такая конфигурация дает пользователю user все права пользователя root при выполнении команды sudo. Defaults env_reset полностью запрещает все пользовательские переменные при исполнении команд от имени root. Это хорошо с точки зрения безопасности, однако иногда вызывает проблемы. Можно разрешить использование личных переменных какой-либо группе или отдельному пользователю, добавив подобную этой строку:

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

которая сохранит переменную TZ для пользователя user.

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

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

Можно настроить для каждого конкретного пользователя доступ только к конкретным командам. Например:

даст пользователю user права на выполнение команд mount и kill с любой машины, а:

даст пользователю user2 права на выполнение modprobe с машины mydebiancomp . Я думаю, что синтаксис понятен:

где команда прописывается с полным путем. Для группы все аналогично, только добавляется знак “%”.

III.Продвинутые настройки sudo.

Очень удобно при настройке sudo создать группу алиасов. Чтобы не вбивать постоянно повторяющиеся команды, пользователей и хосты, мы можем собрать их в группы и устанавливать правила для каждой группы алиасов. Например так:

Далее именами алиасов можно оперировать точно также, как командами, машинами и пользователями, задавая правила.

Исполнение команды от имени другого пользователя тоже возможно. Например при такой записи:

пользователь user может выполнить команду ark от имени user2 или user3, при помощи ключа u, например так:

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

Читайте также:  Газовая колонка нева не работает датчик

пароль полдьзователя user не будет запоминаться вообще, а при:

будет запоминаться на все время аптайма.

Sudo без паролей также возможно. Для этого существует подобная конструкция:

которая даст возможность пользователю user с хоста myubuntucomp использовать kill без запроса пароля. Вставьте свои значения, например ALL вместо имени хоста и команды, чтобы пользователь user мог вообще никогда не вводить пароль для выполнения команд от имени root с любого хоста, однако помните, что это делает систему очень уязвимой.

Надеюсь, что данной информации будет достаточно для настройки ограничений прав доступа при помощи sudo .

Comments (migrated from Blogger)

On 2009-03-27T23:07:00.000+02:00, Andrey wrote:

Статья супер.
Вот только как сделать так, чтобы гномовские административные приложения, запускающиеся через gksu, просили пароль не рута, а юзера?

On 2009-03-27T23:20:00.000+02:00, Programmaster wrote:

Статья супер.
Благодарим Дмитрия Белоусова 🙂

Вот только как сделать так, чтобы гномовские административные приложения, запускающиеся через gksu, просили пароль не рута, а юзера?
Никак. su (консольная утилита) просит пароль того пользователя, права которого ты хочешь получить (по умолчанию — рута), а gksu является GTK+ интерфейсом для /bin/su.

On 2009-03-27T23:29:00.000+02:00, Andrey wrote:

Хмм… может как же тогда в убунту реализована эта возможность, ведь там все гномовские административные приложения кушают пароль юзера и довольны 🙂

On 2009-03-28T00:34:00.000+02:00, Programmaster wrote:

Хмм… может как же тогда в убунту реализована эта возможность, ведь там все гномовские административные приложения кушают пароль юзера и довольны 🙂
Довели, погуглил 🙂
Оказалось, что помимо gksu существует также gksudo (я, честно говоря, подумал о том, что gksudo должна существовать, но почему-то ожидал увидеть реализацию в виде отдельного пакета; очевидно, обе утилиты лежат в gksu), делающий то же,что sudo, но через GTK+ интерфейс. В Debian всё работает правильно, в Ubuntu root’а по умолчанию нет и потому обе утилиты спрашивают пароль текущего юзера. Всей ветки (ссылки ниже) я не читал, но, судя по всему, тебе придётся вручную заменить gksu на gksudo во всех шорткатах в меню, если ты хочешь вводить пасс юзера, а не рута.

On 2009-03-28T09:58:00.000+02:00, Andrey wrote:

thanks! В выходные озадачусь и прикручу sudo + gksudo 🙂

On 2009-03-28T10:07:00.000+02:00, Programmaster wrote:

Рад, что смог помочь. Удачи!
Кстати, было бы интересно потом почитать в твоём блоге, чем же дело закончилось — мало ли, вдруг самому когда придётся с этим возится 🙂

On 2009-03-28T12:22:00.000+02:00, Andrey wrote:

Ок, я в блоге отпишусь обязательно. Давно хотел настроить sudo, да вот никак времени не было

On 2009-04-21T13:45:00.000+03:00, Анонимный wrote:

Ubuntu 8.04
Почему, несмотря на наличие в /etc/sudoers
строки

sudo при выполнении /usr/sbin/hibernate спрашивает пароль user-а?

On 2009-04-21T17:55:00.000+03:00, Programmaster wrote:

Ubuntu 8.04
Почему, несмотря на наличие в /etc/sudoers
строки
user ALL = NOPASSWD: /usr/sbin/hibernate
sudo при выполнении /usr/sbin/hibernate спрашивает пароль user-а?
Честно говоря, не знаю. Ubuntu я вообще не юзал, хотя учитывая то, что она основана на используемом мною Debian’е, кажется странным то, что ты наблюдаешь.
Всё, что могу сделать — посоветовать обратится на форумы. В частности, мне всегда помогали на linuxforum.ru — сходи туда, авось и тебе помогут.

On 2013-08-11T22:41:46.475+03:00, kaban wrote:

у меня пишет
# aptitude install sudo
Следующие НОВЫЕ пакеты будут установлены:
sudo
0 пакетов обновлено, 1 установлено новых, 0 пакетов отмечено для удаления, и 1 пакетов не обновлено.
Необходимо получить 0 B/851 kB архивов. После распаковки 1 885 kB будет занято.
Смена носителя: вставьте диск, помеченный как «Debian GNU/Linux 7.1.0 _Wheezy_ — Official i386 CD Binary-1 20130615-21:54» в привод «/media/cdrom/» и нажмите [Enter].

как сд еще ему нужен?

On 2013-08-12T15:47:40.437+03:00, Minoru wrote:

@kaban , там же ясно написано: нужен первый CD. Это тот диск, с которого ты ставил систему. Если диска у тебя больше нет, можно поправить /etc/apt/sources.list, удалив оттуда соответствующую строку и добавив Интернет-репозитории — тогда пакет скачается оттуда. Удачи!

© 2008–2021 Alexander Batischev. Site’s source.
Content licensed under CC-BY-NC-SA 4.0; code samples under CC0 1.0 Universal.

Источник

Оцените статью