Когда я пытаюсь выполнить команду kdesu dolphin
или kdesudo dolphin
ничего не происходит. Я думал, что это правильный способ повысить графические приложения до временных привилегий root.
Я что-то делаю не так? Как мне повысить права графического приложения до уровня суперпользователя?
sarah@ConvergentRefuge:~$ kdesu dolphin
kdesu: command not found
sarah@ConvergentRefuge:~$ kdesudo dolphin
kdesudo: command not found
решение1
Это гораздо более сложный вопрос, чем мне показалось на первый взгляд :)
Прежде всего,Настоятельно рекомендуется не использовать kdesu
и kdesudo
не запускать графические приложения от имени пользователя root или с правами администратора.
Почему это не рекомендуется?
Короткий ответ таков:это считается существенным риском безопасности.
Угроза безопасности подробно обсуждается (и оспаривается) в ряде различных сообщений и отчетов об ошибках.
@DK Bose любезно предоставил несколько ссылок в качестве хорошей отправной точки для тех, кто хочет узнать больше подробностей:https://www.kubuntuforums.net/showthread.php/71347-KDE-file-manager-problem
Приведенная выше ссылка привела меня к некоторым другим ссылкам, которые демонстрируют «оживленное» обсуждение этой темы:https://bugs.kde.org/show_bug.cgi?id=152150а такжеhttps://bugs.kde.org/show_bug.cgi?id=179678
что в свою очередь привело меня к записи в блоге об обсуждаемой проблеме безопасности:
https://blog.martin-graesslin.com/blog/2017/02/editing-files-as-root/
По сути, чтобы пользователи не подвергали себя этому риску безопасности, запуститеКатяилиДельфинтак как root был отключен.
Кейт теперь позволяет вам сохранять системные файлы и т. д., запрашивая пароль, когда вам требуется разрешение на сохранение файла.(через Polkit - т.е. появляется системное диалоговое окно с запросом разрешения).Это должно означать, что нет необходимости запускать Кейт как root..
В ближайшем будущем Dolphin сделает то же самое, но пока это изменение не реализовано.
(В ходе порой бурных дискуссий по поводу этого изменения высказывались критические замечания о том, что отключение запуска Dolphin с правами root не следовало бы вводить до тех пор, пока не появится альтернатива. Контраргументом было то, что риск безопасности был слишком велик, чтобы позволить это.)
В то же время существуют и другие файловые менеджеры, такие как PCManFM или Thunar, которые позволяют работать с правами root.(для тех, кто понимает последствия безопасности, но нуждается в функциональности).
Я не могу вспомнить много ситуаций, когда было бы необходимо запустить графическое пользовательское приложение от имени пользователя root с помощью 'редактирование системных файлов' сценарий. Кейт теперь может сделать это без необходимости запуска от имени root.
Некоторые из вариантов использования, вызвавших споры против отключения запуска Dolphin от имени root, включали пользователей, желающих создать символические ссылки на свои системные файлы при использовании графического интерфейса, а также для тестирования на проникновение, когда, например, Kali Linux запускает весь сеанс от имени root.
Другим часто встречающимся аргументом было то, что если пользователь знает об угрозе безопасности и хочет запускать графические приложения от имени root, то ему следует разрешить это делать.
кдесудоне установлен в Kubuntu 18.04 по умолчанию и больше не находится в репозиториях Debian и Ubuntu. Оннетрекомендуется использовать, поскольку он не поддерживается (и общее мнение, что вам не следует запускать программы с графическим пользовательским интерфейсом с правами root в X).
кдесуустановлен(как часть kde-cli-tools)но по умолчанию его нет в $PATH. Вы можете получить доступ к бинарнику из/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu
(и создайте символическую ссылку в своем /usr/local/bin
каталоге, если вам не хочется вводить ее каждый раз, когда вы хотите ее использовать - https://www.kubuntuforums.net/showthread.php/73471-Kdesudo?highlight=kdesudo), но делать этого не рекомендуется (из-за проблем с безопасностью) и это не будет работать дляКатяиДельфинв любом случае.
решение2
Это сработало у меня на Kububuntu 19.04:
apt install libkdesu5
ln -s /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu /usr/lib/kde4/libexec/
решение3
Используйте эти команды как root:
ln -s /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu /usr/bin/kdesu
решение4
Мне удалось исправить или обойти эту проблему с помощью одной команды, используя xhost
либо плюс, +
либо более конкретный аргумент (см. последнюю ссылку ниже).
Я не знаю последствий этого исправления или как оно работает, но оно работает. Проблема начала возникать с недавним do-release-upgrade с 20.04 до 22.04. Виртуальная машина, созданная из свежей установки 22.04, не имеет этой проблемы, и последние обновления kdesu для Kate и Dolphin отлично работают с использованием root.
https://bugs.kde.org/show_bug.cgi?id=452532«kdesu перестал работать в KUbuntu из-за опции use_pty в sudo»