Некоторые пользователи Kali Linux хотят сделать её своей основной операционной системой. Напомню, по умолчанию основным пользователем в Kali Linux являет рут. Для работы в Kali Linux в качестве основной ОС рекомендуется создать обычного, непривилегированного пользователя и осуществлять вход под ним. При этом если понадобиться обновить программы, установить новые или запустить программу требующую повышенных прав, то делать это как и в остальных Linux’ах — через sudo или su —.
Тем не менее, кому-то захочется использовать Kali как основную ОС и при этом всегда оставаться суперпользователем. Особых проблем в этом нет, но некоторые программы не хотят запускаться из-под рута. Например, недавно мы говорили как обойти это ограничение для Google Chrome.
В этой небольшой инструкции будет рассказано как запустить VLC под рутом в Kali Linux.
VLC — это популярный проигрыватель медиафайлов. При попытке запуска от рута появляется такое сообщение ошибки:
root@WebWare:~# /usr/bin/vlc VLC is not supposed to be run as root. Sorry. If you need to use real-time priorities and/or privileged TCP ports you can use /usr/bin/vlc-wrapper (make sure it is Set-UID root and cannot be run by non-trusted users first).
Если запуск производиться из меню, а не из командной строки, то просто ничего не происходит.
Есть несколько способов это исправить, они сводятся к двум основным методам:
- изменить исполнимый файл (пропатчить), чтобы отключить проверку
- скомпилировать исполнимый файл самому с ключом, позволяющим запуск от рута.
1) Патчим бинарник первым способом
sed -i 's/geteuid/getppid/' /usr/bin/vlc
Потоковый редактор sed — это текстовый редактор, которые выполняет операции редактирования информации поступающей из стандартного ввода или из файла.
Ключ -i говорит о том, что нужно отредактировать файл, расположение которого задано сразу после ключа. Команда s означает сделать подстановку. Т.е. мы даём указание sed в файле /usr/bin/vlc найти строку geteuid и заменить её на getppid.
Теперь VLC спокойно запускается.
2) Скомпилировать самому с флагом —enable-run-as-root
При компиляции VLC из исходных кодов на этапе конфигурирования
./configure
Нужно добавить ключ —enable-run-as-root
3) Патчим бинарник вторым способом
cp /usr/bin/vlc /usr/bin/vlc-backup needle=$(objdump -d /usr/bin/vlc | grep euid | tail -1 | awk '{print "\x"$2"\x"$3"\x"$4"\x"$5"\x"$6;}') sed -ir "s/$needle/xb8x01x00x00x00/" /usr/bin/vlc
4. Патчим бинарник третьим способом
Устанавливаем hex-редактор
apt-get install bless
Открываем файл
bless /usr/bin/vlc
Находим строку geteuid и меняем на getppid, сохраняем и выходим.