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

После удаления старых ядер вам нужно выполнить некоторую очистку, чтобы все стало красиво и чисто.

Это покажет вам, какие пакеты ядра были удалены:

dpkg --list | grep "^rc  linux-image" | cut -d " " -f 3

Теперь вы очищаете их один за другим с помощью:

sudo apt-get purge PACKAGE

Это все, что связано с ядрами в Linux Mint. Вы могли бы назвать это процедурой после удаления.

1
01.02.2017, 01:38
1 ответ

Это невозможно. Не потому, что в C нет функции, а потому, что модель безопасности Unix это запрещает.

Согласно модели безопасности Unix, программа может только уменьшить свои привилегии, она никогда не может увеличить свои привилегии.Процесс может временно уменьшить свои эффективные привилегии и позже восстановить свои исходные «настоящие» привилегии, но он никогда не сможет продвинуться дальше того места, где он был запущен.

Процесс, который регистрирует пользователей, должен начинаться с привилегиями root, то есть с правом делать все. После того, как пользователь ввел свое имя и пароль, а программа входа проверила их, процесс навсегда изменится на желаемого пользователя. Он может получить привилегии суперпользователя двумя способами:

  • Он может быть запущен другим процессом, работающим от имени суперпользователя. Так работают консольный вход и вход по SSH.
  • Это может быть исполняемый файл setuid , принадлежащий пользователю root. Вот как работают su и sudo .

Я здесь кое-что упростил, но фундаментальный принцип, согласно которому программа не может увеличить свои привилегии, всегда верен. Есть только один способ, которым процесс может получить привилегии, и это посредством выполнения исполняемого файла setuid¹.

Если программе нужно выполнить какие-то задачи с более высокими привилегиями, она не сможет сделать это сама. Для этого он должен получить процесс с более высокими привилегиями. Он может сделать это либо связавшись с уже работающим сервером, который работает с желаемыми привилегиями, либо запустив исполняемый файл setuid. Исполняемый файл setuid может быть чем-то вроде su или sudo , который, в свою очередь, запускает исполняемый файл, не имеющий каких-либо специальных разрешений, но если есть повышение привилегий, должен быть setuid исполняемый файл в цепочке.

¹ или setgid, setpcap…

0
28.01.2020, 01:02

Теги

Похожие вопросы