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

Главной причиной послужила моя не внимательность и изрядное количество пива в организме. Видимо надо переходить на безалкогольные напитки, к тому же кока-кола выпустила пиво. Потом можете почитать о пиве от коки на BeerPlace.com.ua, возможно с ним не будет таких глупых ошибок, как удаление самого себя из группы sudo.
А отобрал права на sudo командой:
Вот так, забыв маленький ключик «-a», я удалил себя из всех остальных групп кроме виртуалбоксовской.
В результате моей ошибки при любой команде начинающийся с 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.: Я долго подбирал картинку к статье. В итоге выбрал эту картинку… она лучше всего ассоциируется с тем состоянием в котором я щас.
Похожие статьи:
Поделись статьёй с друзьями
Твиттер
Вконтакте
Одноклассники
Или просто поиграйся с кнопочками
5 комментариев на «Возвращаем доступ к sudo»
А через su нельзя сделать? su (или su root, одно и то же), пароль свой и уже потом править судоэрс (желательно, кстати, через команду visudo, а не вручную. Но тут одна тонкость — редактирование запускается в vim, что для пользователя убунты катастрофа:)? Не могу проверить это на практике, не хочу ломать судоэрс, но может и поможет. Получить рут-шелл введя пароль СВОЙ возможно, сейчас проверил, но у меня, конечно, нормальный судоэрс. Хотя есть подозрение, что у рута просто тот же пароль, что и у пользователя первого.
Алсо, если есть другой пользователь, то поможет тот же su, зачем же переключаться куда-то в другую консоль? su имя_пользователя, пароль, правка судоэрс, exit, профит.
И еще из арчвики при установке его узнал вдруг, что, например, %sudo — означает «группа (символ %) sudo». То есть идеологически более правильно не записывать всех пользователей, которым нужен sudo, в судоэрс, а добавить их просто в соответствующую группу. Но это так, ерунда.
Спасибо за развёрнутый комментарий. Щас протестировал способ с su в ubuntu на новом пользователе… всё равно остаются права юзера, а не рута.
Я на самом деле только вчера узнал, что нельзя просто залогинится под рутом в ubuntu. Как пример:
su root
Пароль:
su: Сбой при проверке подлинности
перегрузится в revovery, а там root и делай что хочешь.
я так испортил sudoers (ошибку сделал) и так исправлял.
А не проще загрузиться с другими параметрами ядра и спокойно поменять всё как нужно?
… ro quiet rw init=/bin/bash
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
отредактировал sudoers не работает sudo и su сижу без рут
Значит ты достаточно разбираешься в теме, чтобы решить такую простую проблему.
Загрузись в single user mode через grub и поправь. И поддерживаю — Kali не для новичков и не для изучения Linux, так даже его разработчики пишут: https://www.kali.org/docs/introduction/should-i-use-kali-linux/
И да, для долбоклюев на странице создания новой темы написано, я повторю, раз ты пропустил:
Пишите осмысленный заголовок. Придумайте осмысленный заголовок теме. Сообщения с бессмысленными загловками («Помогите!», «Вопрос», …), как правило, остаются без ответа.
По сути: читать не умеет, тащит кали на десктоп. Язабан micdrop.png
просвети чайника,как это провернуть?
В grub2 при загрузке добавляешь в параметры ядра
И корень при этом будет по умолчанию в ro примонтирован, так что
И нафига Kali ставил, если такого не знаешь? И как десктоп это так себе, по ссылке выше даже разработчики не советуют.
Kali не предназначен для использования в качестве настольной системы. Соответственно, никаких гарантий бесперебойной работы быть не может. Меняй дистрибутив.
И да, Kali здесь считается зашкваром =]
а arch может работать в качестве настольной системы?Cейчас исправлю ту грязь что наделал и точно перейду на винду
Слушай, тебе так лень гуглить? Это же в 100500 инструкциях в инете разжевано.
Вот тут до тебя разжевывал тому, кто пароль забыл: Не могу зайти. (комментарий)
На счет ACPI — может и наврал, остальное точно. И там ещё: Не могу зайти. (комментарий)
Arch по крайней мере разрабатывается и для этого, его разработчики не пишут типа:
it is NOT a recommended distribution if you’re unfamiliar with Linux or are looking for a general-purpose Linux desktop distribution for development, web design, gaming, etc.
а arch может работать в качестве настольной системы?
Когда вы уже научитесь просто ничего не писать авторам в таких темах, не учить их жизни, не советовать сменить дистр и т.п.?
Сами ищут себе проблемы, пусть сами и разбираются.
Но ведь а как же поговорить?
Вот между собой и поговорим 🙂
У меня возникла серьёзная проблема
Загрузись в любой Live и оттуда поправь файлик. То же мне проблема. Через лайвный sudo (как-то так, пути исправь на свои):
Снапшоты хоть были?
А в файлике /etc/sudoers есть сверху такая надпись:
Неа. У меня была копия виртуалки чуть с другим конфигом, но тоже обновлённая (с генту).
Почему? В таких темах писать, как раз надо. Что угодно, кроме способа решения озвученной проблемы. Чтобы ТС задолбался каждые несколько минут бегать проверять, а вдруг кто-то ответ на его вопрос написал.
TC создаёт тему, первый зашедший лоровец заходит и кастует второго лоровца говоря ему «Прувет! тебя дела» второй лоровец заходит и говорит «Прувет, спасибо, хорошо. Знаешь я считаю что debian дистрибутив лучший» первый отвечает «Знаешь, а я с тобой несогласен, по моему лучший это gentoo» второй отвечает «почему у тебя такие мысли?» и так далее в таком же тоне полностью игнорируя сообщения ТС =)
Хотя это жестоко, человек мог даже не подозревать что кали херовый выбор для начинания
Ну и как поживаете? Как жена, дети, кот, собака и попугай?
Ну и правильно. Мало ли что ты ещё так наредактируешь.
Лучший дистр это тот, баги которого ты согласен терпеть не смотря ни на что.
Выходит, что лучшего не существует
шок! сенсация! хакер хакнул хакерский дистрибутив самой хакерской ОС в мире!
жизнь без рут, возможно ли? что говорят эксперты? мнения незаинтересованных лиц.
у всех есть рут а у тебя нет? жизнь изгоя. незащищенность меньшинств и жестокость социума. как вернуться к нормальной жизни?
Знаешь, а я с тобой несогласен, по моему ты на самом деле не прав
Они не соизволили даже появиться!
Ты, конечно, имеешь на это право, но в виду отсутствия весомых аргументов в твоём сообщении, я позволю себе остаться при своём мнении. Но это не значит, что я не открыт к диалогу. Я с радостью выслушаю твои доводы и, возможно, изменю своё мнение. Но это не точно.
В виду большого количества аргументов равноценных между собой образующих некую массу как положительных так и не буду скрывать отрицательных факторов я на данный момент прихожу и предлагаю прийти к общему знаменателю заключающемуся в том что ваш дистрибутив и мой дистрибутив в общем среднем при прочих равных выглядят лучше и смотрят вместе на первоначальный кали как на отвратное испражнение. Не буду скрывать и утаивать то что это в данный момент является выкидышем того дистрибутива за который сетовал я даёт ему хоть и косвенное, но пятно. Но не оправдываясь, а уточняя мой дистрибутив родитель сотен потуг сделать их него свой и далеко не всегда это получается. В виду вышесказанного я надеюсь вы если не полностью, но верю что отчасти будите солидарны со мной.
Настройка sudo в Linux
Команда sudo играет очень важное значение для управления правами доступа в операционной системе Linux. Благодаря этой небольшой команде вы можете давать полномочия на выполнение тех или иных действий от имени администратора другим пользователям, при этом не давая им сам пароль суперпользователя. Также вам не нужно сидеть всегда под учетной записью суперпользователя чтобы иногда выполнять административные действия.
Казалось бы, такая небольшая команда, с минимумом возможностей и максимально простым использованием, но на самом деле она может намного больше. В этой статье мы рассмотрим как выполняется настройка sudo в linux для контроля доступа к функциям системы и возможностей пользователя.
Как работает sudo?
Перед тем, как переходить к настройке доступа к утилите sudo давайте рассмотрим как она работает. В Linux есть два способа получить права администратора. Вы можете переключиться на пользователя root с помощью команды su или можете передать в параметре нужную команду утилите sudo, которая выполнит ее с правами администратора. Причем второй способ предпочтительнее, потому что вы не забудете что используете права root и не наделаете ничего лишнего.
Имя команды означает substitute user do или super user do. Утилита позволяет запускать программы от имени другого пользователя, но чаще всего от имени корневого. Утилита была разработана еще в 1980 году Бобом Когшелом и Клиффом Спенсером. За это время сменилось много разработчиков и было добавлено много функций.
Работает sudo благодаря флагу доступа SUID. Если этот флаг установлен для программы, то она выполняется не от имени того пользователя который ее запустил, а от имени владельца, учитывая что файл sudo принадлежит, то утилита выполняется от имени root. Затем она читает свои настройки, запрашивает пароль пользователя и решает можно ли ему разрешать выполнение команд от имени администратора. Если да, то выполняется переданная в параметре команда.
Теперь, когда вы знаете теорию, давайте рассмотрим как настроить sudo в Linux.
Настройка sudo в Linux
Все настройки sudo находятся в файле /etc/sudoers. Здесь можно настроить очень много параметров, начиная от кому будет позволено выполнять команды от имени суперпользователя и заканчивая ограничением набора доступных команд.
Чтобы открыть файл для редактирования наберите такую команду от имени суперпользователя:
Вы также можете указать текстовый редактор, в котором вы хотите редактировать файл настройки:
Дальше мы рассмотрим самые интересные настройки, которые вы можете задать в этом файле. Но сначала давайте рассмотрим основной синтаксис файла. Он состоит из двух типов строк, это псевдонимы, которые позволяют создавать списки пользователей и флагов, а также сами правила, которые задают как будет вести себя команда sudo. Синтаксис алиасов выглядит вот так:
тип имя_алиаса = элемент1, элемент2, элемент3
Описание разрешений для пользователей имеет немного другой синтаксис:
пользователь хост = (другой_пользователь:группа) команды
Основные параметры
Отключаем введение при первом использовании:
Суперпользователь не может выполнять sudo:
Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:
Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:
Сохранять список групп текущего пользователя:
Запрашивать пароль суперпользователя вместо пароля пользователя:
Дальше рассмотрим переменные, которым можно задать значения чтобы установить нужные настройки:
Количество минут, которое пройдет перед тем, как sudo будет спрашивать пароль снова, по умолчанию 5. Если установить значение в 0, то пароль будет спрашиваться всегда, независимо от того как давно вы использовали утилиту:
Следующий параметр задает количество минут, пока sudo будет ожидать повторного ввода пароля при неправильном вводе:
Вы можете изменить сообщение, которое будет выводится при запросе пароля:
Defaults passprompt=»Ваш пароль:»
Можно указать другого пользователя, не root, от которого будут выполняться все команды, для этого используйте:
Вы можете записывать в лог все попытки подключения к sudo:
Затем пробуем проверить работу лога:
sudo cat /var/log/sudo
Это были все самые интересные параметры настройки работы sudo, которые могут вам понадобиться, дальше мы рассмотрим как задать права доступа sudo для пользователей.
Настройка пользователей sudo
Мы уже рассматривали выше синтаксис настройки действий для пользователей, здесь все сложнее чем с псевдонимами, но разобраться можно. Например, разрешим любому пользователю использовать sudo, от любого хоста и выполнять любые команды:
%wheel ALL = (ALL) ALL
Означает то же самое, что и предыдущее, только здесь мы разрешаем использовать sudo не всем пользователям, а только тем, которые состоят в группе wheel.
%wheel ALL = (root) ALL
Тут мы уже ограничили возможный выбор пользователей только пользователем root. Также можно указать группу пользователя, от имени которого он может выполнять команды:
%wheel ALL = (root:admins) ALL
Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:
%wheel ALL = (root) /bin/mount, /bin/umount
Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:
%wheel ALL = (root) ALL
%wheel ALL = (root) NOPASSWD: /bin/mount, /bin/umount
Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:
%wheel host1 = (root) ALL
Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:
Например, создадим четыре псевдонима и применим их в нашем правиле:
User_Alias Users = user1,user2,user3
Runas_Alias Admins = root,admin
Host_Alias Hosts = host1,host2
Cmd_Alias Cmds = /bin/mount,/bin/umount
Далее применяем все это в правиле:
Users Hosts = (Admins) Cmds
Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.
Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:
ALL ALL = (root) NOPASSWD: /bin/mount
Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:
ALL ALL = (root) NOEXEC /bin/mount
Вы можете проверить правильно ли была проведена настройка файла /etc/sudoers и посмотреть все созданные правила с помощью команды:
Здесь отображены все установленные флаги и настройки, а также полномочия данного пользователя.
Выводы
В этой статье мы рассмотрели как выполняется настройка sudo в linux. Как видите, несмотря на то, что это очень простая утилита, она скрывает очень много полезных настроек, которые можно использовать в своей системе. Если у вас остались вопросы, спрашивайте в комментариях!
Не могу использовать sudo
Пытаюсь использовать sudo, но вижу ошибку:
sudo: effective uid is not 0, is sudo installed setuid root
Я уже всё перепробывал, но не помогает. Как её исправить? Sudo я установил архиватором потому, что у моего урезанного linux нет ничего для этого. Как выставить правильные разрешения? Или что ещё ей надо? Ubuntu 14.04 LTS, но просто урезана до нельзя. Доступа к команде su не имею, так как её можно запустить только в терминале, а графический интерфейс настроить не могу пока не получу sudo, поэтому использую скрипты.
Что из этого не понятно?
У меня команда chmod не работает, пишет нет пользователя, пробовал и root и своего пользователя
Как, куда и какие разрешения выставлять? У меня нет доступа к root, как я их выставлю? Или так можно? Я еще новичок в этом
Ubuntu 14.04 LTS, но просто урезана до нельзя.
Я еще новичок в этом
Слишком громко для новичка.
Пароль root утановлен? Если да, войди от root через tty1.
Система урезана настолько, что и пакетного менеджера нет?
Есть dpkg, но требует права, apt-get нету, su сам скопировал из другого linux, но он работает только в терминале
Жесть. Просто жесть.
Поставь setuid на бинарник sudo
Стоит, так можно? https://image.ibb.co/eQfbcR/Screenshot_20180116_115910 Все равно ошибка. Или командой надо, тогда какой?
убери у всех права на чтение и запись.
Оставь только исполнение и setuid
Сам Себе Злобный Буратино.
моего урезанного linux нет ничего для этого
Ubuntu 14.04 LTS, но просто урезана до нельзя.
Доступа к команде su не имею, так как её можно запустить только в терминале, а графический интерфейс настроить не могу пока не получу sudo, поэтому использую скрипты.
apt-get нету
su сам скопировал из другого linux
Ахахаха, эталонный ССЗБ
http://gentoo.ru/node/14443 Это хоть и написано для генты, но верно для любого дистрибутива.
Где ты взял комп с этой убунтой? Кто устанавливал и почему всё обрезали? Есть веские причины?
Судя по скриншоту, у тебя телефон. И вряд ли там честный ubuntu, скорее что-то обрезанное и огороженное. Кстати, я сильно сомневаюсь, что там действительно linux, а не android
См. скриншот выше. Он телефон ломает
Вы глупые все? Я делаю это в эмуляторе, и ничего я не ломаю. А система, которая там установлена УРЕЗАНА, нет стандартных инструментов
chown: changing ownership of ‘/usr/bin/sudo’: Operation not permitted Я не знаю, как, я ввёл эту команду как root
Зачем с зеркалом разговариваешь?
Я делаю это в эмуляторе, и ничего я не ломаю
А система, которая там установлена УРЕЗАНА, нет стандартных инструментов
Это называется «android». И да, android это не linux. И к убунте не относится никак

































