Debian вход под root
Изменить владельца диска
Если предыдущий вариант не подошел, необходимо попытаться поменять владельца изменяемого накопителя. Инструкция:
открыть папку проводника или раздел «Мой компьютер»;
- вызвать контекстное меню носителя, нажав по наименованию правой клавишей мыши;
- в выпавшем перечне функций кликнуть по строке «Безопасность»;
откроется дополнительное рабочее окно, в нижней части которого, справа – нажать на кнопку «Дополнительно»;
- в новом поле будет указан список характеристик накопителя, рядом со строкой «Владелец» находится кнопка «Изменить»;
- появится новое окно, где также переходят на вкладку «Дополнительно», затем к поиску;
дальше требуется выбрать пользователя, которому придется передать права на указанный диск, нажать «ОК» дважды.
После выполнения установленных этапов действий персональное устройство требуется перезагрузить в принудительном порядке. Необходимо запустить именно перезапуск компьютера, а не стандартную процедуру выключения и последующего включения.
Внимание! Перед тем, как изменять владельца накопителя, необходимо создать отдельную точку восстановления операционки Виндовс. Защитные меры помогут восстановить данные, если возникнет более значительный сбой на ПК
Alwaysinstallelevated
Иногда администраторы позволяют обычным пользователям самостоятельно устанавливать программы, обычно делается это через следующие ключи реестра:
или
Они указывают системе, что любой MSI-файл должен устанавливаться с повышенными привилегиями (NT AUTHORITYSYSTEM). Соответственно, задействовав специальным образом созданный файл, можно опять же выполнить действия от имени системы и прокачать свои привилегии.
В состав Metasploit входит специальный модуль exploit/windows/local/always_install_elevated, который создает MSI-файл со встроенным в него специальным исполняемым файлом, который извлекается и выполняется установщиком с привилегиями системы.
После его выполнения MSI-файл прекращает установку (путем вызова специально созданного невалидного VBS), чтобы предотвратить регистрацию действия в системе. К тому же если запустить установку с ключом /quiet, то юзеру даже не выведется ошибка.
Настройка sudo и прав доступа на выполнение различных команд
sudo позволяет разрешать или запрещать пользователям выполнение конкретного набора программ. Все настройки, связанные с правами доступа, хранятся в файле . Это не совсем обычный файл. Для его редактирования необходимо (в целях безопасности) использовать команду
sudo visudo
По умолчанию, в нём написано, что все члены группы admin имеют полный доступ к , о чём говорит строчка
%admin ALL=(ALL) ALL
Подробнее о синтаксисе и возможностях настройки этого файла можно почитать выполнив
man sudoers
Если вы допустите ошибку при редактировании этого файла, то вполне возможно полностью лишитесь доступа к административным функциям. Если такое случилось, то необходимо загрузиться в recovery mode, при этом вы автоматически получите права администратора и сможете всё исправить. Кроме того, отредактировать этот файл можно с LiveCD.
Разрешение пользователю выполнять команду без ввода пароля
Для того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды:
# Cmnd alias specification Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /usr/sbin/pm-hibernate, /sbin/reboot
И в конец файла дописать строку
имя_пользователя ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS
Внимание! Вышеописанные действия не отменяют необходимости ввода команды sudo перед вашей командой
Создание синонимов (alias`ов)
Для того, чтобы не только не вводить пароль для sudo, но и вообще не вводить sudo, сделайте следующее:
откройте файл .bashrc, находящейся в вашем домашнем каталоге
nano ~bashrc
и добавьте в конец файла строки
alias reboot='sudo reboot' alias poweroff='sudo poweroff' alias pm-hibernate='sudo pm-hibernate' alias hibernate='sudo pm-hibernate' alias shutdown='sudo shutdown'
Основные параметры
Алиас Defaults позволяет задать стандартные параметры для работы утилиты, их мы и рассмотрим в этом разделе. Начинается такой алиас со слова Defaults, дальше идет имя флага. Если перед именем есть символ !, это значит, что флаг нужно включить, в обратном случае выключить:
Отключаем введение при первом использовании:
Суперпользователь не может выполнять sudo:
Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:
Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:
Сохранять список групп текущего пользователя:
Запрашивать пароль суперпользователя вместо пароля пользователя:
Дальше рассмотрим переменные, которым можно задать значения чтобы установить нужные настройки:
Задать количество попыток ввода пароля перед тем, как sudo прекратит работу, по умолчанию — 3:
Количество минут, которое пройдет перед тем, как sudo будет спрашивать пароль снова, по умолчанию 5. Если установить значение в 0, то пароль будет спрашиваться всегда, независимо от того как давно вы использовали утилиту:
Следующий параметр задает количество минут, пока sudo будет ожидать повторного ввода пароля при неправильном вводе:
Вы можете изменить сообщение, которое будет выводится при запросе пароля:
Можно указать другого пользователя, не root, от которого будут выполняться все команды, для этого используйте:
Вы можете записывать в лог все попытки подключения к sudo:
Затем пробуем проверить работу лога:
Это были все самые интересные параметры настройки работы sudo, которые могут вам понадобиться, дальше мы рассмотрим как задать права доступа sudo для пользователей.
Настройка пользователей sudo
Мы уже рассматривали выше синтаксис настройки действий для пользователей, здесь все сложнее чем с псевдонимами, но разобраться можно. Например, разрешим любому пользователю использовать sudo, от любого хоста и выполнять любые команды:
Такая команда очень небезопасна, она разрешает всем и все. Первое ALL — разрешить всем пользователям, второе ALL — для всех хостов, третье ALL — разрешить вход под любым пользователем и четвертое — разрешить выполнять любою команду. Но куда более часто используется другая конструкция:
Означает то же самое, что и предыдущее, только здесь мы разрешаем использовать sudo не всем пользователям, а только тем, которые состоят в группе wheel.
Тут мы уже ограничили возможный выбор пользователей только пользователем root. Также можно указать группу пользователя, от имени которого он может выполнять команды:
Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:
Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:
Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:
Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:
- User_Alias — псевдоним пользователей, которые будут использовать sudo;
- Runas_Alias — псевдоним пользователей, от имени которых будут выполняться команды;
- Host_Alias — псевдоним хоста;
- Cmnd_Alias — псевдоним команд;
Например, создадим четыре псевдонима и применим их в нашем правиле:
Далее применяем все это в правиле:
Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.
Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:
Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:
Вы можете проверить правильно ли была проведена настройка файла /etc/sudoers и посмотреть все созданные правила с помощью команды:
Здесь отображены все установленные флаги и настройки, а также полномочия данного пользователя.
Учетная запись администратора
Второе решение ошибки «Запрошенная операция требует повышения», которое мы рассмотрим, это активация учётной записи администратора, встроенной в систему Windows, и выполнение нужных операций из под пользователя Администратор.
Данный способ не очень желателен, так как после входа в систему под учётной записью Администратор юзеру станет доступно большее количество функций и возможностей, которые, с одной стороны, абсолютно не нужны рядовым пользователям ПК, а с другой — могут навредить системе и её компонентам при бесконтрольном использовании.
Тем не менее, возможность активации встроенной учётной записи Администратор есть, и данную возможность нужно рассмотреть. Приведём три способа активации пользователя Супер Администратор.
Активация Администратора через утилиту Локальные пользователи и группы
Чтобы вызвать окно настроек пользователей, запускаем программу Выполнить из Пуск — Все программы — Стандартные — Выполнить (в Windows 10 утилита Выполнить находится в каталоге Служебные) либо одновременным нажатием кнопок Win и R и выполняем команду lusrmgr.msc (сокращённо от local user manager, что с английского и означает «управление локальными пользователями»)
В левой части открывшегося окна переходим в папку Пользователи, после чего в основной области окна находим пользователя Администратор, который будет помечен кружочком со стрелочкой, указывающей вниз. Эта иконка означает, что данная учётная запись отключена и находится в неактивном состоянии.
Щёлкаем по строчке Администратор правой кнопкой мышки и открываем Свойства записи. В окне Свойства: Администратор на вкладке Общие находим пункт Отключить учетную запись и снимаем у этого пункта флаг-галку. Нажимаем кнопку OK.
В дальнейшем для отключения встроенного администратора нужно будет просто снять галку в этом же месте.
Активация Администратора через утилиту Локальная политика безопасности
Для перехода к настройкам локальной политики безопасности компьютера также запускаем программу Выполнить из Пуск — Все программы — Стандартные — Выполнить (в Windows 10 утилита Выполнить находится в каталоге Служебные) либо одновременным нажатием кнопок Win и R и выполняем команду secpol.msc (от английского security policy — «политика безопасности»)
В открывшемся окне в левом древовидном списке параметров разворачиваем ветку Локальные политики и выделяем курсором пункт Параметры безопасности. Теперь в правой части окна находим пункт Учетные записи: Состояние учетной записи ‘Администратор’, щёлкаем по нему правой кнопкой мыши и переходим к Свойствам
В открывшемся окне на вкладке Параметры локальной безопасности активируем вариант Включен и нажимаем кнопку OK.
Для деактивации учётной записи администратора нужно, соответственно, переключить флаг-галку в положение Отключен.
Активация Администратора из командной строки
Последний способ активации встроенной в Windows учётной записи администратора, который мы рассмотрим, будет выполняться в командной строке. Ввиду необходимости работы с консолью Windows этот вариант не самый популярный, но, на самом деле, он даже быстрее двух предыдущих.
Для начала запускаем командную строку от имени администратора. Сделать это можно как привычным вызовом меню по правой кнопке мыши на ярлыке, так и следующим образом на примере Windows 10: правой кнопкой мышки нажимаем на кнопку Пуск в левом нижнем углу монитора и в открывшемся списке выбираем пункт Командная строка (администратор)
Далее в открывшемся окне консоли выполняем следующую команду:
net user Администратор /active:yes
В ответ мы должны получить уведомление от консоли о том, что Команда выполнена успешно. Если вместо этого командная строка отвечает, что «Не найдено имя пользователя. Для вызова дополнительной справки наберите NET HELPMSG 2221.», это означает, что мы используем версию операционной системы, предназначенную для другого языка.
В таком случае активируем администратора другой командой:
net user Administrator /active:yes
net user Администратор /active:no
net user Administrator /active:no
Далее, независимо от выбора способа активации пользователя Администратор, нам нужно перезагрузить компьютер. При запуске системы после перезагрузки нам будет предложено на выбор несколько пользователей для входа в ОС, среди которых выбираем активированную нами ранее запись Администратор.
Мы настоятельно рекомендуем вам входить в систему под администратором только в случаях возникновения необходимости, а в повседневной работе с ПК использовать свою учётную запись, пусть и наделённую правами администратора.
Причины ошибки «Запрошенная операция требует повышения» и как её исправить
Как можно понять из заголовка сбоя, ошибка имеет отношения к правам, с которыми запускается программа или процесс, однако эта информация не всегда позволяет исправить ошибку: так как сбой возможен и при условиях, когда ваш пользователь является администратором в Windows и сама программа также запущена от имени администратора.
Далее рассмотрим наиболее часто встречающиеся случаи, когда возникает сбой 740 и о возможных действиях в таких ситуациях.
Ошибка после скачивания файла и его запуска
Если вы только что загрузили какой-то файл программы или установщик (например, веб-установщик DirectX с сайта Майкрософт), запускаете его и видите сообщение наподобие Error creating process. Reason: Запрошенная операция требует повышения, с большой вероятностью дело в том, что вы запустили файл прямо из браузера, а не вручную из папки загрузок.
Что при этом происходит (при запуске из браузера):
- Файл, который для работы требует запуска от имени администратора запускается браузером от имени обычного пользователя (потому что некоторые браузера по-другому не умеют, например, Microsoft Edge).
- Когда начинают выполняться операции, требующие прав администратора, появляется сбой.
Решение в данном случае: запустить загруженный файл из папки, куда он был загружен вручную (из проводника).
Примечание: если вышеописанное не сработает, нажмите по файлу правой кнопкой мыши и выберите «Запустить от имени Администратора» (только если уверены в том, что файл надежный, иначе рекомендую сначала проверить его в в VirusTotal), так как возможно причина ошибки в необходимости доступа к защищенным папкам (чего не могут делать программы, запущенная с правами обычного пользователя).
О в параметрах совместимости программы
Иногда с теми или иными целями (например, для более простой работы с защищенными папками Windows 10, 8 и Windows 7) пользователь добавляет в параметры совместимости программы (открыть их можно так: правый клик по exe файлу приложения — свойства — совместимость) о.
Обычно это не вызывает проблем, но, если, к примеру, обратиться к этой программе из контекстного меню проводника (как раз таким образом я добился сообщения в архиваторе) или из другой программы вы можете получить сообщение «Запрошенная операция требует повышения». Причина в том, что проводник по умолчанию запускает элементы контекстного меню с правами простого пользователя и «не может» запустить приложение с о.
Решение — зайти в свойства .exe файла программы (обычно указан в сообщении об ошибке) и, если на вкладке «Совместимость» установлена вышеуказанная отметка, снять её. Если отметка неактивна, нажмите кнопку «Изменить параметры запуска для всех пользователей» и снимите её там.
Примените настройки и снова попробуйте запуск программы.
Важное примечание: Если же отметка не установлена, попробуйте, наоборот, установить её — это может исправить ошибку в некоторых случаях
Запуск одной программы из другой программы
Ошибки «требует повышения» с кодом 740 и сообщениями CreateProcess Failed или Error Creating Process могут быть вызваны тем, что программа, запущенная не от имени администратора, пробует запустить другую программу, которой требуются права администратора для работы.
Далее — несколько возможных примеров.
- Если это самописный установщик игры с торрента, который, помимо прочего устанавливает vcredist_x86.exe, vcredist_x64.exe или DirectX, при запуске установки указанных дополнительных компонентов может возникать описываемая ошибка.
- Если это какой-то лаунчер, запускающий другие программы, то он также может вызвать указанный сбой при запуске чего-либо.
- Если какая-то программа запускает сторонний исполняемый модуль, который должен сохранить результат работы в защищенной папке Windows, это может вызывать ошибку 740. Пример: какой-либо конвертер видео или изображений, который запускает ffmpeg, а итоговый файл должен быть сохранен в защищенную папку (например, в корень диска C в Windows 10).
- Аналогичная проблема возможна при использовании некоторых .bat или .cmd файлов.
- Отказаться от установки дополнительных компонентов в установщике или же запустить их установку вручную (обычно исполняемые файлы находятся в той же папке, где и исходный файл setup.exe).
- Запустить «исходную» программу или командный файл от имени администратора.
- В файлах bat, cmd и в собственных программах, если вы разработчик, использовать не путь к программе, а такую конструкцию для запуска: cmd /c start путь_к_программе (в данном случае будет вызван запрос UAC при необходимости). См. Как создать bat файл.
Включение возможности входить под root в MDM
Итак, назначив пароль root, мы получили возможность входить как root в консоли, но не в графической среде. Дело в том, что по умолчанию в настройках MDM вход как root запрещён. Для того, чтобы его разрешить, нужно зайти в настройки системы, открыть Login Window Preferences, открыть секцию Options и пометить Allow root login. После этого можно будет зайти как root в графическом режиме.
Кстати, Thunar, запущенный из-под рута, показывает жёлтую строку с предупреждением, в то время как в Nemo показывается лишь красная строка с надписью «Повышенные привилегии».
Кстати, в той же Ubuntu вход под root менее ограничен: убунтувский LightDM не запрещает по умолчанию вход под root, а поставляемый с Ubuntu файловый менеджер Nautilus, запущенный с правами рута, не показывает никаких предупреждений (как и Dolphin).
Как зайти под root в Ubuntu Desktop GUI
Если вы хотите зайти в систему как пользователь root не в консоли, а на графическом рабочем столе Ubuntu, тогда вам нужно выполнить несколько дополнительных шагов после включения пользователя root:
Откройте фаил /etc/gdm3/custom.conf . Здесь Вам надо будет добавить AllowRoot = true в блоке . Вот так:
Затем откройте файл /etc/pam.d/gdm-password и найдите такую строку:
Закомментируйте её, поставив знак # перед ней:
Далее перезагрузите компьютер. Когда он перезапустится и появится экрану входа в систему — кликните на ссылку «Нет в списке?». Остаётся лишь ввести root в поле username и указать пароль для суперпользователя. Вот и всё!
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.
Установка ssh сервера
Сначала, обновим списки пакетов с помощью команды:
Списки пакетов должны обновиться как на скриншоте ниже.
В Debian SSH-сервер представлен в виде пакета «openssh-server». Чтобы установить OpenSSH в Debian, выполните следующую команду:
Введите «Y» и нажмите для продолжения.
В Debian по умолчанию сервер OpenSSH работает так, что он запускается автоматически после установки. Вы также можете проверить работу с помощью следующей команды:
Вы должны увидеть статус «active (running)», как показано на скриншоте ниже. Это означает, что сервер SSH работает. Он прослушивает порт 22.
Если ssh-сервер не работает, вы можете использовать следующую команду, чтобы запустить его.
Повышение пользовательских прав командой su
Давайте рассмотрим такую ситуацию, когда пользователю нужно установить некую программу, например wget.
$ yum install -y wget Загружены модули: fastestmirror Для выполнения этой команды необходимы привилегии суперпользователя.
Все, приехали, для выполнения этой команды нужны привилегии суперпользователя. Что делать дальше? Далее можно воспользоваться так называемым повышением пользовательских прав. Для подобных целей существует команда su.
$ su Пароль: #
Что-же произошло в процессе выполнения команды? При выполнении команды был запрошен пароль суперпользователя, после ввода пароля происходит подмена имени пользователя test на имя root, что дает пользователю право выполнять все действия от его имени.
Было $, стало #. Теперь можно установить нужную программу или выполнить необходимую операцию, ради которой все это и было затеяно. Для возвращения назад используют команду exit.
# exit exit $
После выполнения команды exit происходит возвращение в свое пользовательское окружение $.
Существует еще один вариант выполнения команды — su -. При выполнении su — изменяется не только имя, но и рабочее окружение пользователя.
$ su - Пароль: Последний вход в систему:Сб фев 11 21:11:06 MSK 2017на pts/0 #
Были $, стали #. Грубо говоря стали пользователем root, до тех пор пока не будет выполнена команда exit и пользователь не вернется назад в свое окружение.
У некоторых читателей может появиться вопрос: Зачем это нужно, если обычный пользователь зная пароль root может входить напрямую, без всяких заморочек? Да может, зная пароль это не составит особого труда. Я описываю ситуацию когда root и обычный пользователь, это один и тот-же человек.
Некоторые пользователи закрывают удаленный root-доступ на свои VPS/VDS сервера в качестве меры безопасности. Поскольку напрямую под root они входить уже не могут, то входят от имени обычного пользователя, после чего повышают себя до root для выполнения нужных задач.
А как быть если пользователей много? Ведь это не есть хорошо, когда пароль root знает каждый из них. В том-то и дело что не каждый юзер знает пароль. Грамотный администратор не будет разбрасываться паролем направо и налево, а доверит его только проверенным пользователям. Пароль может знать каждый, но не каждый сможет его применить, этой привилегией обладает тот, кто входит в специальную группу пользователей.
В UNIX-системах существует так называемая группа wheel, только входящие в нее пользователи могли выполнять команду su. В последних версиях Linux любой пользователь может выполнять su по умолчанию, а раньше у них такой возможности не было. В старых версиях Linux и системе FreeBSD, команда su могла выполняться только после внесения пользователя в группу wheel администратором.
Подобную манипуляцию пользователями можно провернуть и в современных версиях Linux. Допустим что у нас есть два пользователя techlist_1 и techlist_2, по умолчанию не относящиеся к группе wheel.
# id techlist_1 uid=1001(techlist_1) gid=1004(techlist_1) группы=1004(techlist_1) # id techlist_2 uid=1002(techlist_2) gid=1005(techlist_2) группы=1005(techlist_2)
Добавим пользователя techlist_1 в группу wheel, а techlist_2 оставим без изменений.
# usermod -a -G wheel techlist_1 # id techlist_1 uid=1001(techlist_1) gid=1004(techlist_1) группы=1004(techlist_1),10(wheel) # id techlist_2 uid=1002(techlist_2) gid=1005(techlist_2) группы=1005(techlist_2)
Отредактируем файл /etc/pam.d/su для возвращения возможности разделения пользователей, как в старых версиях Linux.
# nano /etc/pam.d/su Находим следующую строку и расскомментируем ее, уберем знак #, в начале строки: #auth required pam_wheel.so use_uid auth required pam_wheel.so use_uid Сохраняем изменения и выходим.
Проверим как теперь пользователи смогут выполнять команду su. Сначала проверим входящего в группу wheel пользователя.
$ su Пароль: # exit exit $ su - Пароль: Последний вход в систему:Вс фев 12 04:49:44 MSK 2017на pts/1 #
Теперь второго, которого не добавляли в группу.
$ su Пароль: su: Доступ запрещен $ su - Пароль: su: Доступ запрещен $
Что и требовалось доказать. Один пользователь выполняет команду su, а другой не может. Вот так может работать повышение пользовательских прав при помощи команд su и su -.
Как восстановить доступ к Debian Linux в случае проблем с sudo или утратой root-пароля
В некоторых ситуациях может получиться так, что мы потеряем административный доступ к серверу на базе Debian GNU/Linux. Например, к такому исходу могут привести некорректные действия администратора по настройке механизма sudo (ошибки при правке файлов и/или ) и, как следствие, получение ошибки «Username is not in the sudoers file» при любых дальнейших попытках использования sudo. Иногда бывают ситуации, когда локальный доступ к серверу есть, а данные административной учётной записи недоступны и требуется восстановить административный доступ к серверу.
Загрузка в recovery mode
В типичных ситуациях в Linux имеется режим восстановления Recovery Mode, который, как правило, доступен из загрузчика ОС. В этом режиме наша Linux-система доступна в режиме супер-пользователя root, и мы можем исправить в ней имеющиеся у нас проблемы, например внести корректировки в файлы sudo или добавить/изменить учётные данные локального администратора.
Для того, чтобы попасть в меню загрузки, в процессе запуска ОС Debian нажимаем кнопку Shift. В появившемся меню загрузчика GRUB выбираем расширенный режим загрузки:
Затем выбираем интересующее нас ядро Linux в режиме recovery mode…
Однако в случае с Debian, где супер-пользователь root в конфигурации по умолчанию выключен, мы можем получить сообщение о невозможности загрузки консоли восстановления «Cannot open access to console, the root account is locked»:
В таком случае мы можем прибегнуть к приёму изменения параметров загрузки ядра.
Нестандартная загрузка
В процессе загрузки в GRUB выбираем в списке ядер нужное нам ядро (режим recovery mode здесь уже не важен) и нажимаем «e» для редактирования параметров загрузки.
Находим строку начинающуюся с «linux …»
В конце строки меняем значение «» на «», а в самом конце строки дописываем вызов оболочки «».
После чего для продолжения загрузки жмём F10
Теперь мы получили беспарольный root-доступ к нашему серверу. Здесь можно исправить имеющиеся у нас проблемы, например внести корректировки в файлы sudo. После внесения нужных правок система может быть загружена обычным образом (все сделанные нами ранее изменения в GRUB были временными).
Дополнительные источники информации:
- Ubuntu Wiki — Lost Password?
- How to Fix “Username is not in the sudoers file. This incident will be reported” in Ubuntu
Проверено на следующих конфигурациях:
Версия ОС |
---|
Debian GNU/Linux Stretch 9.4 |
Автор первичной редакции:Алексей Максимов
Время публикации: 13.06.2018 15:45
Тонкая настройка
Таким образом, обычный пользователь может запускать команды с правами учетной записи root не зная ее пароль. Это очень удобно, но может быть небезопасно — есть ли возможность ограничить круг команд, которые можно исполнять посредством sudo? Да, и поможет нам в этом тот же самый конфигурационный файл. Снова запускаем visudo и разбираемся дальше. Нас интересуют параметры, указанные после имени пользователя:
Скриншот №3. Настройки ограничения команд
Разберем их подробнее:
- ALL=(ALL:ALL) ALL — первый параметр определяет к какому хосту применяется конфигурация. При использовании выделенного сервера параметр можно оставить без изменений;
- ALL=(ALL:ALL) ALL — параметры в скобках определяют с полномочиями какого пользователя (первый параметр) и/или группы (второй параметр) будет выполняться команда. По умолчанию sudo выполняет команду от имени root, однако при запуске с ключом –u можно указать другую учетную запись, а с ключом –g другую группу, чьи полномочия будут использованы при запуске;
- ALL=(ALL:ALL) ALL — третий параметр определяет к каким файлам и командам относятся данные настройки.
Исходя из вышесказанного, при необходимости определить перечень разрешенных команд заменяем последний параметр ALL тем, что нам требуется, перечисляя команды через запятую. Например, строка:
дает право пользователю user с помощью sudo осуществлять перезагрузку сервера командой sudo /sbin/shutdown –r и просматривать файлы с помощью sudo /bin/cat. Другие команды через sudo выполняться не будут. Например, при попытке выключить сервер командой sudo /sbin/shutdown –h, получим ответ: