Что нужно сделать чтобы терминал запускался с правами root?
Рассмотрим несколько вариантов
1. Переключение на пользователя root
В последних версиях Kali Linux пользователь по умолчанию изменился: раньше им был root, а теперь обычный пользователь.
Если вы хотите вернуться к прежнему варианту, то есть сделать пользователя root основным пользователем, то это возможно.
Для начала установите пароль пользователя root:
sudo passwd root
Теперь при включении компьютера вы можете войти как root:
В результате все открываемые терминалы будут иметь повышенные привилегии.
2. Открыть сессию root
Запустите терминал с обычными правами и выполните в нём:
sudo su -
Будет открыта сессия пользователя root, все команды будут выполняться с повышенными привилегиями.
Ещё один вариант запустить сессию с повышенными привилегиями, выполнить такую команду:
sudo bash
Чтобы завершить сессию root, нажмите Ctrl+d
3. Использование sudo, в том числе с внутренними командами Bash
На самом деле, немногие команды требуют прав суперпользователя. А для тех, которые требуют прав root, достаточно запускать их с sudo:
sudo КОМАНДА
Но что если нам нужно дописать строку в файл требующих повышенных привилегий примерно следующей командой:
sudo echo "что-нибудь" >> /etc/файл_требующий_повышенных_привилегий
Команда должна выполняться с повышенными привилегиями, что должно дать права на запись в файл. Но в этом случае ни > , ни >> не получится использовать, в том числе как root. И будет выведена ошибка вида:
bash: /etc/file: Отказано в доступе
Эту проблему можно обойти открыв сессию суперпользователя:
sudo su -
Либо с помощью команды tee. Используйте её с опциями --append или -a — это важно, без этих опций файл будет полностью перезаписан. Пример:
echo 'новая строка' | sudo tee --append /etc/apt/sources.list
Приведённая команда допишет новую строку в существующий файл.
Но особенность команды tee в том, что она не только допишет файл, но ещё и выведет добавленную строку в консоль. Если вы не хотите, чтобы данные вновь возвращались в консоль, то сделайте редирект вывода на /dev/null.
Пример:
echo 'новая строка' | sudo tee --append /etc/apt/sources.list > /dev/null
Это будет работать аналогичным образом, но на экран не будет выведена 'новая строка'.
Ещё один вариант использования echo для записи или добавления в файл от имени администратора:
sudo sh -c "echo 'something' >> /etc/privilegedfile"
В команде используются и одинарные и двойные кавычки, это означает, что если в строке, которую вы добавляете в файл, также есть кавычки, то они должны быть экранированы обратными слэшами.
4. Использование sudo без пароля
Если для вас не проблема добавлять sudo перед командами, но вам не нравится каждый раз вводить пароль, то следующая команда позволит запускать команды с sudo и при этом не будет запрашиваться пароль:
echo '%sudo ALL=(ALL) NOPASSWD: ALL' | sudo tee --append /etc/sudoers
Используйте это только если вы понимаете риски для безопасности!
Как запустить программу с графическим интерфейсом с правами root
Любую программу, в том числе с графическим интерфейсом, можно запустить с правами root. Обычно это требуется для файловых менеджеров и текстовых редакторов, чтобы было удобно перемещаться по папкам и редактировать файлы с ограниченным доступом.
На самом деле, всё запускается точно так же, как и с консольными утилитами:
sudo КОМАНДА
Но вам нужно знать название команды. Узнать название команды можно по следующему алгоритму:
- откройте программу, которую хотите запустить с правами root
- посмотрите в меню пункт «О программе».
К примеру, популярный текстовый редактор с правами root можно запустить так:
sudo gedit /ПУТЬ/ДО/ОТКРЫВАЕМОГО/ФАЙЛА
В Kali Linux (Xfce) исполнимый файл менеджера файлов называется thunar. Запустить его с правами root можно так:
sudo thunar
Вы также можете указать папку, которую вы хотите открыть:
sudo thunar /etc
В Cinnamon менеджер файлов называется Nemo, запуск его с правами root:
sudo nemo
Также можно указать папку, которую нужно открыть:
sudo nemo /etc