После удаления старых ядер вам нужно выполнить некоторую очистку, чтобы все стало красиво и чисто.
Это покажет вам, какие пакеты ядра были удалены:
dpkg --list | grep "^rc linux-image" | cut -d " " -f 3
Теперь вы очищаете их один за другим с помощью:
sudo apt-get purge PACKAGE
Это все, что связано с ядрами в Linux Mint. Вы могли бы назвать это процедурой после удаления.
Это невозможно. Не потому, что в C нет функции, а потому, что модель безопасности Unix это запрещает.
Согласно модели безопасности Unix, программа может только уменьшить свои привилегии, она никогда не может увеличить свои привилегии.Процесс может временно уменьшить свои эффективные привилегии и позже восстановить свои исходные «настоящие» привилегии, но он никогда не сможет продвинуться дальше того места, где он был запущен.
Процесс, который регистрирует пользователей, должен начинаться с привилегиями root, то есть с правом делать все. После того, как пользователь ввел свое имя и пароль, а программа входа проверила их, процесс навсегда изменится на желаемого пользователя. Он может получить привилегии суперпользователя двумя способами:
su
и sudo
. Я здесь кое-что упростил, но фундаментальный принцип, согласно которому программа не может увеличить свои привилегии, всегда верен. Есть только один способ, которым процесс может получить привилегии, и это посредством выполнения исполняемого файла setuid¹.
Если программе нужно выполнить какие-то задачи с более высокими привилегиями, она не сможет сделать это сама. Для этого он должен получить процесс с более высокими привилегиями. Он может сделать это либо связавшись с уже работающим сервером, который работает с желаемыми привилегиями, либо запустив исполняемый файл setuid. Исполняемый файл setuid может быть чем-то вроде su
или sudo
, который, в свою очередь, запускает исполняемый файл, не имеющий каких-либо специальных разрешений, но если есть повышение привилегий, должен быть setuid исполняемый файл в цепочке.
¹ или setgid, setpcap…