- Astra linux менеджер файлов от root
- Запуск файлового менеджера с привилегиями пользователя root
- Запуск текстового редактора с привилегиями пользователя root
- Дополнительные подробности
- Важные различия
- Быстрое получение списка пользователей группы sudo
- Исправление прав доступа к файлам из домашней директории
- Как открывать программы с рут-доступом в Linux
- Включите учетную запись Root
- Открытые программы с Root — Терминал
- Открытые программы с рутом — Pkexec
- Открытые программы с рутом — Gksu
- Ubuntu 16.04 LTS
- Debian
- OpenSUSE LEAP 15.0
- OpenSUSE LEAP 42.3
- OpenSUSE Tumbleweed
Astra linux менеджер файлов от root
В данном материале описываются важные различия между популярными режимами работы с приложениями от лица пользователя root, а именно, режимами, связанными с использованием утилит su, sudo, pkexec, а также псевдопротокола admin://.
Основная мысль данного материала заключается в следующем: вы должны всегда использовать утилиту pkexec и псевдопротокол admin:// для запуска приложений с графическим интерфейсом, которые должны работать от лица пользователя root. Утилиты su и sudo должны использоваться исключительно для запуска утилит с интерфейсом командной строки от лица пользователя root. В случае пренебрежения этим простым правилом приложения с графическим интерфейсом могут изменить права доступа к файлам конфигурации в домашней директории, что приведет к появлению ряда сложно диагностируемых проблем.
Если вас интересуют подробности, вам стоит продолжить чтение.
Запуск файлового менеджера с привилегиями пользователя root
Использование файлового менеджера с привилегиями пользователя root в какой-то степени является рискованным мероприятием, так как вы можете удалить любые файлы и тем самым нарушить работоспособность системы. Тем не менее, в некоторых случаях это просто необходимо.
В таких случаях следует запускать файловый менеджер с использованием встроенного механизма защиты для того, чтобы, по крайней мере, случайно не нарушить права доступа к файлам в файловой системе. Так как используемый по умолчанию файловый менеджер глубоко интегрирован в систему, его использование может быть связано с определенными проблемами.
Для работы с файлами с привилегиями пользователя root следует в первую очередь использовать встроенный механизм открытия системных файлов вашего файлового менеджера. Если этот механизм не позволяет выполнить необходимые действия, вам придется запустить файловый менеджер от лица пользователя root с помощью утилиты pkexec и терминала.
Например, для запуска файлового менеджера Nemo из состава дистрибутива Linux Mint Cinnamon может использоваться следующая команда:
Для запуска файлового менеджера Caja из состава дистрибутива Linux Mint Mate — следующая команда:
Для запуска файлового менеджера Thunar из состава дистрибутива Linux Mint Xfce и Xubunut — следующая команда:
Наконец, для запуска файлового менеджера Nautilus из состава дистрибутива Ubuntu и Fedora Workstation — следующая команда:
Примечание: закрытие окна терминала приведет к закрытию окна запущенного с помощью него файлового менеджера, поэтому терминал всегда должен быть открыт! Не закрывайте окно терминала до того момента, пока вы не выполните все необходимые действия.
Запуск текстового редактора с привилегиями пользователя root
Для редактирования конфигурационных файлов системы вам придется запустить файловый менеджер с привилегиями пользователя root. Для этой цели может использоваться псевдопротокол admin://.
Предположим, что нам нужно отредактировать файл конфигурации /etc/default/grub.
В дистрибутиве Linux Mint (Cinnamon, Mate, Xfce) для этой цели может использоваться следующая команда:
В дистрибутивах Ubuntu и Fedora Workstation — следующая команда:
Примечание: три слэша в командах — не опечатка; так и должно быть. При первом использовании псевдопротокола admin:// в рамках пользовательской сессии вам будет предложено ввести ваш пароль дважды; это также нормально. Ну и разумеется, закрытие окна терминала приведет к закрытию окна текстового редактора, поэтому стоит держать его открытым до завершения редактирования файла конфигурации.
Дополнительные подробности
Для работы с утилитой sudo вам нужно быть членом группы пользователей sudo. В случае утилит su, pkexec и псевдопротокола admin:// членства в дополнительных группах не требуется.
При использовании утилиты pkexec и псевдопротокола admin:// вам будет предложено ввести ваш пароль с помощью диалогового окна графической оболочки. В случае утилит sudo и su вы должны будет вводить пароль с помощью терминала.
Важные различия
1. Утилита pkexec и псевдопротокол admin:// предусматривают установку безопасного значения переменной окружения $HOME, а именно, пути к домашней директории пользователя root, следовательно, запущенное с помощью них приложение не сможет незаметно нарушить права доступа к файлам конфигурации из вашей домашней директории. Кроме того, они предусматривают установку безопасного значения переменной окружения $XAUTHORITY, а именно, пути к новому файлу, следовательно, запущенное с помощью них приложение будет работать со своей авторизацией оконной системы.
2. Утилита sudo не предусматривает установки значений двух перечисленных выше переменной окружения, а вместо этого использует путь к вашей домашней директории и вашему файлу авторизации оконной системы. По этой причине утилита sudo не должна использоваться для запуска приложений с графическим интерфейсом, ведь они всегда используют переменные окружения, такие, как $HOME.
3. Команда sudo -i позволяет установить безопасное значение переменной окружения $HOME, но не позволяет установить безопасного значения переменной окружения $XAUTHORITY, поэтому все запускаемые с помощью нее приложения запускаются без своей авторизации оконной системы. По этой причине она не должна использоваться для запуска приложений с графическим интерфейсом. Кроме того, она не завершает сессию пользователя root после завершения работы запущенного с помощью нее приложения, что небезопасно.
4. Команда su — выполняет ту же операцию, что и sudo -i. Единственное различие данных команд состоит в том, что в случае использования команды su — вам придется ввести пароль пользователя root, а в случае использования команды sudo -i — свой пароль.
5. Команда sudo -H также позволяет установить безопасное значение переменной окружения $HOME, но не позволяет установить безопасного значения переменной окружения $XAUTHORITY, поэтому все запускаемые с помощью нее приложения запускаются без своей авторизации оконной системы. По этой причине она также не должна использоваться для запуска приложений с графическим интерфейсом.
6. Утилита su устанавливает безопасное значение переменной окружения $HOME, но не устанавливает безопасного значения переменной окружения $XAUTHORITY, поэтому все запускаемые с помощью нее приложения запускаются без своей авторизации оконной системы. По этой причине она также не должна использоваться для запуска приложений с графическим интерфейсом. Вообще, при использовании данной утилиты без каких-либо параметров запуск приложений осуществляется с использованием большинства переменных окружения текущего пользователя.
Быстрое получение списка пользователей группы sudo
Вы можете без лишних сложностей получить список пользователей группы sudo с помощью следующей команды:
После окончания ввода команды следует нажать Enter для ее исполнения.
Исправление прав доступа к файлам из домашней директории
Если вы случайно воспользовались утилитой sudo или su для запуска приложения с графическим интерфейсом, после чего оно начало работать некорректно от лица обычного пользователя, вы можете исправить права доступа к файлам его конфигурации с помощью следующей команды (это одна строка):
find /home/$SUDO_USER ! -user $SUDO_USER -exec chown $SUDO_USER:$SUDO_USER ‘{}’ ;
После окончания ввода команды следует нажать Enter для ее исполнения.
Как открывать программы с рут-доступом в Linux
Иногда требуется открытие программ с привилегиями root в Linux из-за характера безопасности платформы. Дело в том, что некоторые операции невозможны с обычным пользователем (на ум приходят такие вещи, как управление файлами в корневой папке, форматирование жесткого диска или редактирование системных файлов).
Есть несколько способов открыть программы с root-доступом в Linux. В этом руководстве мы покажем вам, как это сделать. Однако имейте в виду: чтобы запускать программы с учетной записью Root, вам необходимо сначала включить ее. Если вы используете ОС Linux с отключенной учетной записью root, следуйте приведенным ниже инструкциям, чтобы узнать, как ее включить.
Включите учетную запись Root
Запустите окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. Затем, если ваша система имеет права sudo, используйте команду sudo -s для входа в сеанс с повышенными привилегиями.
Затем введите passwd, чтобы принудительно сбросить пароль учетной записи Root в системе.
Установите новый пароль на вашем компьютере с Linux для учетной записи Root. Однако имейте в виду, что он должен быть безопасным. После установки нового пароля к учетной записи Root можно будет снова получить доступ.
Открытые программы с Root — Терминал
Самый быстрый и обычно самый надежный способ запуска программ с привилегиями Root — это войти в Root в терминале, а затем выполнить имя программы как команду.
Получив root-доступ в сеансе терминала, вы сможете запускать программу. Так, например, если вы хотите получить доступ к файловому менеджеру Gnome с доступом root, вы должны запустить команду nautilus в терминале.
Итак, помните. Войдите в систему как Root, затем запустите приложение:
Большинство программ могут быстро запуститься с привилегиями суперпользователя, если вы являетесь пользователем root. Однако имейте в виду, что метод окна терминала не на 100% надежен. Из-за характера командной строки в Linux некоторые приложения просто не запускаются.
Невозможно определить, какие программы работают с этим методом, а какие нет. Лучший способ определить — методом проб и ошибок. Однако, если программа отказывается запускаться с правами root в терминале, она сообщит об этом в командной строке.
Открытые программы с рутом — Pkexec
В большинстве операционных систем Linux, когда программа должна запускаться от имени пользователя root, появляется запрос пароля. Это приглашение инструктирует пользователя ввести пароль своей учетной записи. Затем приложения запускаются с повышенными привилегиями. Запуск программ на рабочем столе таким способом стал возможным благодаря инструменту Pkexec.
Такой запуск программ — это не волшебство. С помощью этого инструмента довольно легко запустить практически любое приложение, установленное на вашем рабочем столе Linux.
Чтобы использовать pkexec, нажмите Alt + F2 на клавиатуре. Эта комбинация клавиш запустит окно быстрого запуска в среде рабочего стола.
Когда на рабочем столе откроется окно быстрого запуска, напишите команду pkexec, за которой следует имя программы, которую вы хотите запустить.
Например, чтобы запустить диспетчер разделов Gparted от имени пользователя root, вы должны:
Просто следуйте синтаксису команды, как показано ниже, и почти каждая программа должна запускаться как Root.
Не хотите использовать панель быстрого запуска на рабочем столе Linux? Также можно запускать приложения как Root через инструмент pkexec в терминале. Просто запустите сеанс терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T. Затем выполните:
Открытые программы с рутом — Gksu
Задолго до того, как инструмент Pkexec занял его место, появился Gksu. Он работает так же, как Pkexec, но разработчики дистрибутива Linux решили отказаться от него, так как он также не работает. Тем не менее, если вам не нравится использовать Pkexec и вам нужен способ запускать программы с правами root, он все равно работает.
К сожалению, Gksu не установлен во многих репозиториях программного обеспечения современных дистрибутивов Linux, так как он не так часто используется. На данный момент Debian 7-9 поддерживает его, OpenSUSE LEAP (42.3 и 15.0) и Tumbleweed поддерживают его. Ubuntu 16.04 LTS тоже.
Чтобы установить его, откройте терминал и введите команды, соответствующие вашей операционной системе.
Ubuntu 16.04 LTS
Debian
OpenSUSE LEAP 15.0
sudo zypper addrepo https://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Leap_15.0/ gnome-apps sudo zypper install gksu
OpenSUSE LEAP 42.3
sudo zypper addrepo https://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Leap_42.3/ gnome-apps sudo zypper install gksu
OpenSUSE Tumbleweed
sudo zypper addrepo https://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Factory/ gnome-apps sudo zypper install gksu
Когда приложение Gksu настроено в вашей системе Linux, оно должно быть готово к использованию. Чтобы запустить программу как Root, нажмите Alt + F2 на рабочем столе. Появится панель запуска. На панели напишите gksu, а затем программу, которую хотите запустить. Например, чтобы запустить файловый менеджер XFCE4, вы должны:
Чтобы запустить любое приложение с помощью Gksu, следуйте синтаксису командной строки ниже.
Вы также можете запустить приложение прямо из терминала как Root с тем же синтаксисом.