Astra linux запуск файлового менеджера от root

Запуск Dolphin и Kate с правами суперпользователя в KDE

Идею этого поста подкинул подписчик, который обратился по электронной почте с просьбой о помощи в решении следующей проблемы: нужно открывать системные папки и файлы для редактирования с правами суперпользователя посредством графического интерфейса KDE. Говоря проще, нужно иметь возможность запуска файлового менеджера Dolphin и текстового редактора Kate от имени суперпользователя.

В Linux Mint, например, возможность открытия папки или файла от root не вызывает сложности, достаточно открыть нужную папку от имени администратора, выбрав соответствующий пункт в контекстном меню.

В KDE такого пункта вообще нет, а если попробовать открыть Dolphin или Kate через sudo, то система скажет, что пользователь хочет слишком многого.

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

Dolphin безо всяких проблем может перейти в системные папки, но совершать какие-либо действия там нельзя (например, копирование или удаление файлов, создание новых директорий).

Задача, поставленная подписчиком из разряда «не для всех», довольно специфическая. Но давайте попробуем решить ее, причем двумя способами: простым и сложным.

Напоминаю, что среди подписчиков канала Просто Код проходит розыгрыш! Подробности участия и описания призов можете найти по следующей ссылке (чтобы пост стал доступным нужно стать подписчиком!)

Конкурс на 1000 подписчиков на канале Просто Код Обещанный конкурс в связи с 1000 подписчиков на канале Просто Код объявляю открытым! Долго думал, как его организовать и провести, наконец мысли сошлись в единый паззл. Условия конкурса Принять участие могут только подписчики канала Просто Код, данный пост будет доступен только им. Так как Дзен не позволяет получать данные о подписчиках, то…

Используем учетную запись суперпользователя (простой способ)

Первый способ, который пришел мне в голову состоял в том, чтобы открыть терминал и там переключиться на суперпользователя при помощи команды su, после ввода которой система попросит root-пароль. Дальше можно запускать файловый менеджер и редактировать любые файлы через Kate. Ниже прикрепил демонстрацию того, как работает Dolphin и создания текстового файла от имени суперпользователя.

Создаем копии Dolphin и Kate для запуска от root (сложный способ)

Второй способ состоит в создании копии файлов для запуска Dolphin и Kate с предоставлением этим файлов возможности запуска от имени суперпользователя. Для этого нам понадобится терминал и консольный текстовый редактор (в моем случае nano). Программы, которые пользователь запускает через меню приложений, хранятся по пути /usr/share/applications и имеют формат desktop. Если перейти по указанном пути и посмотреть содержимое папки, то увидим там, выражаясь простым языком, ярлыки для запуска нужных программ.

Читайте также:  What is rpmbuild in linux

Нас интересуют два файла org.kde.dolphin.desktop и org.kde.kate.desktop. Их нужно скопировать по пути $HOME/.local/share/applications, где хранятся пользовательские ярлыки программ и при копировании изменить название. Воспользуемся соответствующей командой:

sudo cp org.kde.dolphin.desktop $HOME/.local/share/applications/org.kde.dolphin-root.desktop

sudo cp org.kde.kate.desktop $HOME/.local/share/applications/org.kde.kate-root.desktop

Теперь переходим в директорию, куда скопировали файлы и меняем их содержимое следующим образом:

  1. Меняем название приложений (Name) на такое, которое позволит понять, что оно запускается от суперпользователя (например DolphinRoot и KateRoot)
  2. В строке, где написано Exec заменяем то, что стоит после знака равенства на следующее:
  3. (для Dolphin) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch dolphin %u
  4. (для Kate) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch kate -b %U
  5. По желанию можно изменить локализованное название приложения, найдя свой язык.

После сохраняем изменения, выходим из сеанса и заходим вновь. Теперь проверяем появились ли новые пункты DolphinRoot и KateRoot в меню приложений. В моем случае в меню приложении появились второй Dolphin и второй Kate. Так как использую новую версию Plasma, то возможно дело в том, что это какой-то небольшой баг обновленной версии кед. Напишите в комментариях, если попробовали этот способ, как отображаются копии приложений у вас. При запуске root-версии приложений будут просить пароль суперпользователя. Чтобы иметь их всегда под рукой можно сделать ярлыки на рабочий стол и переименовать так, чтобы знать, что это приложения с root-доступом.

Обратите внимание, что в моем случае при добавлении ярлыков приложений на рабочий стол у Dolphin ярлык был назван верно.

Важное примечание!

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

Делайте это только в том случае, если осознаете смысл совершаемых действий и последствия от них.

Подводим итоги

Может существуют другие способы запуска файлового менеджера или текстового редактора от имени суперпользователя неизвестные мне. Если это так и кому-то из подписчиков или читателей эти способы известны, то расскажите о них в комментариях.

Источник

Astra linux запуск файлового менеджера от root

В данном материале описываются важные различия между популярными режимами работы с приложениями от лица пользователя root, а именно, режимами, связанными с использованием утилит su, sudo, pkexec, а также псевдопротокола admin://.

Основная мысль данного материала заключается в следующем: вы должны всегда использовать утилиту pkexec и псевдопротокол admin:// для запуска приложений с графическим интерфейсом, которые должны работать от лица пользователя root. Утилиты su и sudo должны использоваться исключительно для запуска утилит с интерфейсом командной строки от лица пользователя root. В случае пренебрежения этим простым правилом приложения с графическим интерфейсом могут изменить права доступа к файлам конфигурации в домашней директории, что приведет к появлению ряда сложно диагностируемых проблем.

Читайте также:  Export http proxy linux

Если вас интересуют подробности, вам стоит продолжить чтение.

Запуск файлового менеджера с привилегиями пользователя 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 вы должны будет вводить пароль с помощью терминала.

Читайте также:  Linux криптопро проверка сертификата

Важные различия

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 для ее исполнения.

Источник

Оцените статью
Adblock
detector