Linux запустить dolphin из администратора

Обновлено: 04.07.2024

В настоящее время я использую dolphin 17.04.3 , и всякий раз, когда я запускаю его как Sudo, он выдает следующую ошибку Executing Dolphin as root is not possible. без объяснения причин или альтернативы. Итак, как я могу запустить дельфина как root для копирования или удаления файлов?

Краткое:

Дельфин 17.04

У Дельфина 17.04 или позже есть проверка:

Обходной путь

Вы можете редактировать источники и отключить проверку. Тогда Дельфин будет работать как прежде.

Дельфин 18.08

Несколько запросов на проверку

Dolphin 18.08.0 использует эти изменения, и Dolphin можно запустить с помощью команды pkexec от имени администратора.

фона:

Запретить выполнение Dolphin от имени пользователя root в Linux. В основном, это копия commit kate/9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e, написанная Мартином Грисслином

Дополнительные советы

Будущее

Когда он будет готов, Dolphin покажет запрос пароля, если это необходимо. Теперь с исправленными Dolphin & KIO:

Не ответ, просто обходной путь для цели, указанной в OP ( copying or deleting files ).

Идея состоит в том, чтобы

установить другой менеджер файлов, который не имеет такого ограничения и который не приносит много зависимостей

создайте контекстное меню "Открыть как корень" в Dolphin для этого другого файлового менеджера.

Можно использовать основные файловые менеджеры других рабочих столов (Nautilus, Nemo, Caja, Thunar), но они имеют некоторые зависимости. Даже PCManFM и PCManFM-Qt делают это. Если вам нужен один из них для каких-то других целей, добавьте, что это может быть хорошим решением.

Я обнаружил, что Krusader (который, как мне кажется, раньше устанавливался по умолчанию в некоторых системах KDE), может быть легко установлен, не приносит никаких зависимостей в Kubuntu 18.04, и может быть использован как root.

Под инструментами у него есть опция "Root".

enter image description here

который просит пароль в графическом интерфейсе.

Чтобы добавить контекстное меню в Dolphin, создайте папку

/.local/share/kservices5/ServiceMenus и затем выполните

По какой-то причине kdesu krusader не работает, и я использовал решение из здесь .. Также работает konsole -e Sudo krusader , но в нем вместо терминала отображается приглашение для ввода пароля.

sudo и su пробовал, kdesu dolphin вызывает окно для ввода пароля, но после ввода пароля dolphin не запускается (Хотя, раньше это таки работало.).


А у меня работает


А sudo dolphin что в консоль выдает - почему не запускается ?


ЗЫ: А зачем его пускать от рута? Что-то не могу придумать ни одного use case.

ilipnitsky ★★★ ( 10.10.16 16:30:16 )
Последнее исправление: ilipnitsky 10.10.16 16:31:22 (всего исправлений: 2)

У вас он работает?

У меня работает и kdesu5 и простой sudo, что в терминале, что в Alt+F2 (только из tmux не работает).

Ты как в систему логинился? sddm?


да, нажал ALT+F2, набрал kdesu dolphin, ввёл пароль, открылся dolphin с рутовым домашним каталогом.


Не нужно открывать Dolphin с правами администратора.


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

Это не винда, где безопасность через жопу - учись аккуратно к этому относиться.

Pavval ★★★★★ ( 10.10.16 17:40:27 )
Последнее исправление: Pavval 10.10.16 17:40:56 (всего исправлений: 1)

Потому что любой вредоносный процесс запустившийся под юзером возможно только того и ждёт, чтобы поиметь систему через XEvent. Так можно за доли секунды хоть руткит залить, а это уже серьёзно. От некоторых руткитов очень тяжело избавиться или вообще невозможно.

ну систему то всегда можно переустановить?

Хотя, спасибо за информацию, не ожидал что все так серьезно.


Alt+F2 --> kdesudo dolphin

Пользователи не лишены ничего. Лишены только дауны по типу тебя, мозгов. Внезапно, кдеешные либы полностью и максимально глубоко интегрированы в фм, так что тут всё логично.

В настоящее время я использую, dolphin 17.04.3 и всякий раз, когда я запускаю его как sudo, он выдает следующую ошибку Executing Dolphin as root is not possible. без объяснения причин или альтернативы. Итак, как я могу запустить дельфина как root для копирования или удаления файлов?

Вы используете Wayland? по умолчанию wayland не позволяет программам с графическим интерфейсом работать от имени пользователя root. не работает возможность создавать или перемещать файлы просто неактивна в контекстном меню. Пожалуйста, проверьте свою версию «Так как я могу запустить дельфина как root для копирования или удаления файлов?» Пожалуйста, переоцените этот вопрос. Используйте командную строку для задач администратора. Это там специально для задач администратора. Графические инструменты не должны использоваться для задач администратора. Запуск графических инструментов в качестве администратора имеет непредвиденные побочные эффекты в отношении разрешений, и в последнее время считается, что разработчики активно блокируют его. Вы действительно думаете, что это хорошая идея - идти против людей, которые знают (или должны знать;)), что именно может делать инструмент для работы с графическими файлами?

Короткий:

Дельфин 17.04

У Дельфина 17.04 или позже есть проверка:

Обходной путь

Вы можете редактировать источники и отключить проверку. Тогда Дельфин будет работать как прежде.

Дельфин 18.08

Несколько запросов на рассмотрение

Dolphin 18.08.0 использует эти изменения, и Dolphin можно запустить с помощью команды pkexec от имени администратора.

Фон:

Запретить выполнение Dolphin от имени пользователя root в Linux. В основном, это копия commit kate / 9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e, написанная Мартином Грисслином

Дополнительные советы

Будущее

Когда он будет готов, Dolphin покажет запрос пароля, если это необходимо. Теперь с исправленными Dolphin & KIO:

Не могли бы вы подробнее рассказать о «По соображениям безопасности»? Итак, простой ответ: «Вы не можете запустить Dolphin от имени пользователя root, если не установите исправленную версию»?

Не ответ, просто обходной путь для цели, указанной в OP ( copying or deleting files ).

Идея состоит в том, чтобы

установить другой менеджер файлов, который не имеет такого ограничения и который не приносит много зависимостей

создайте контекстное меню «Открыть как корень» в Dolphin для этого другого файлового менеджера.

Можно использовать основные файловые менеджеры других рабочих столов (Nautilus, Nemo, Caja, Thunar), но они имеют некоторые зависимости. Даже PCManFM и PCManFM-Qt делают это. Если вам нужен один из них для каких-то других целей, добавьте, что это может быть хорошим решением.

Я обнаружил, что Krusader (который, как мне кажется, раньше устанавливался по умолчанию в некоторых системах KDE), можно легко установить, он не содержит никаких зависимостей в Kubuntu 18.04 и может использоваться в качестве пользователя root.

Под инструментами у него есть опция «Root».

введите описание изображения здесь

который просит пароль в графическом интерфейсе.

Чтобы добавить контекстное меню в Dolphin, создайте папку

/.local/share/kservices5/ServiceMenus и затем выполните

По какой-то причине kdesu krusader не работает, и я использовал решение отсюда .. То, что также работает konsole -e sudo krusader , но это показывает терминал вместо графического интерфейса пользователя для запроса пароля.

Тогда вы увидите в Dolphin:

введите описание изображения здесь

введите описание изображения здесь

Я сделал свою собственную версию, основанную на ответах выше. Итак, чтобы добавить контекстное меню, чтобы открыть Dolphin от имени пользователя root, выполните следующие действия:

    Создайте файл с именем, например, DolphinAsRoot.desktop в каталоге

  • Если он все еще не отображается в контекстном меню в Dolphin, перейдите в «Настройки -> Настроить Dolphin . -> Службы» и активируйте опцию, которую вы недавно добавили. Это должно быть там. Если нет, закройте Dolphin или даже выйдите и войдите в свой сеанс.

Вот и все, я надеюсь, что это поможет вам всем, как это помогло мне;)

Все, что я сделал, это добавил терминал на панель инструментов (хотя комбинация клавиш привязана к F4) и использовал командную строку для выполнения операций sudo по мере необходимости.

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

Это на Arch, но функциональность должна быть такой же на Ubuntu. Надеюсь, что это помогло.

вот обходной путь для Dolphin 17.x:

получить libkdeinit5_dolphin.so от сюда

Протестировано мной, он отлично работает в Ubuntu Bionic.

Просто посмотрите на исходный код kate и kwrite:

В первых строках кода непосредственно в начале «основной» функции вы найдете:

Dolphin ничем не отличается, за исключением того, что это происходит в libkdeinit5_dolphin.so.

Так что запуск от имени root тривиален, все, что нам нужно сделать, это пропустить проверку if uid = 0.

То, как мы это делаем, - это исправление perma-patching kate, kwrite и dolphin.
Итак, первое, что мы делаем, это дамп двоичного содержимого в текстовый файл:

Теперь вы можете посмотреть файл с помощью gedit

/kate.txt , и если вы ищете getuid, вы найдете что-то вроде:

Теперь, с левой стороны, вы найдете адрес памяти, после двоеточия (:) вы увидите двоичный код инструкции (шестнадцатеричный), а справа от него вы увидите разборку этого кода (то есть, что это значит) ,

Теперь, вы видите, там он вызывает getuid, проверяет, равен ли он нулю, и переходит в оператор if, то есть, если возвращаемое значение равно нулю (je: jump, если равно).

Теперь мы не хотим прыгать в if, поэтому просто удалим это дерьмо. Но простое удаление этого дерьма изменило бы адреса на 6 байтов, уничтожив любые относительные скачки в программе в процессе и, как следствие, в программе. Так что вместо того, чтобы просто заменить всю длину заявления прыжка с NOP (сокращенно N O Op чество) инструкции, ака 0x90 в инструкции кода / гекс.

Таким образом, вам нужно заменить каждый байт перехода на 0x90, где вы ранее имели

Это можно сделать просто с помощью hex-редактора.
Итак, мы устанавливаем один:

Теперь в шестнадцатеричном редакторе вы ищете 0f 84 e9 1e 00 00 и заменяете его на 90 90 90 90 90 90. Если есть только один случай 0f 84 e9 1e 00 00, и это так, то это тривиально просто. Просто измените байты в шестнадцатеричном виде на 90 90 90 90 90 90 и сохраните. Законченный. Kate или kwrite теперь будут открыты независимо от того, являетесь ли вы пользователем root или нет.

если вы сделаете то же самое с дельфином, вы поймете, что objdump -Crd /usr/bin/dolhin производит очень короткую разборку.

если вы запустите ldd /usr/bin/dolphin , вы увидите, что dolphin загружает общую библиотеку libkdeinit5_dolphin.so

linux-vdso.so.1 (0x00007ffc2fdf0000) libkdeinit5_dolphin.so => ​​/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so (0x00007fb54e76c000)

Итак, вы делаете objdump для libkdeinit5_dolphin.so:

Теперь откройте objdump: gedit

Выполните поиск getuid, и вы увидите, что один из результатов поиска:

Это замечательно, понимаешь, больше дерьма, как в kate и kwrite.
Теперь откройте /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so в вашем hex-редакторе, найдите 0f 84 58 1a 00 00 и замените его 90 90 90 90 90 90 .
Хит сохранить, и готово.

Дельфин теперь работает как корень.

Примечание. Хорошая идея - сделать резервную копию файлов, которые вы изменяете, на всякий случай.

Кроме того, вы можете просто загрузить исходный код kate, kwrite и dolphin, удалить это дерьмо из исходного кода, скомпилировать и установить. Но так как в тупой системе cmake отсутствует какой-то дерьмовый шаблон дерьма для некоторых глупых дерьмов, таких как значки, возможно, потому что поставляемый репозиторием cmake слишком стар, это не работает. Жаль, было бы слишком просто, если бы это просто сработало, не так ли?

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

Видите ли, это не просто, но тривиально.

PS:
теперь, каждый раз, когда kate, kwrite или dolphin обновляются через apt, ваши изменения будут перезаписаны. Вам нужно будет повторно применить их. Я оставлю автоматизацию процесса патча в ваших более чем способных руках, и ваш язык программирования joice;)

Можно ли это сделать в чистом виде?

Просто поместите это sed-выражение в скрипт, чтобы вы могли повторно подать заявку, если вам когда-либо понадобится, если вы не в сети и не имеете доступа в Интернет.

Удачного взлома - с kate, kwrite и dolphin - с правами root - во время просмотра / прослушивания чего-либо на vlc.

PS2:
дерьмовые проверки корня пошли по пути Dodo в KDE v19.04.
Кто сказал, что русская эволюция была плохой вещью.
Для прогресса - ура!

Я сейчас пользуюсь dolphin 17.04.3 и всякий раз, когда я запускаю его как sudo, он выдает следующую ошибку Executing Dolphin as root is not possible. без объяснения причин или альтернативы. Итак, как я могу запустить дельфина как root для копирования или удаления файлов?

3 ответа

Короткий:

Дельфин 17.04

У Дельфина 17.04 или позже есть проверка:

Обходной путь

Вы можете редактировать источники и отключить проверку. Тогда Дельфин будет работать как прежде.

Дельфин 18.08

Несколько запросов на рассмотрение

Dolphin 18.08.0 использует эти изменения, и Dolphin можно запустить с помощью команды pkexec от имени администратора.

Фон:

Запретить выполнение Dolphin от имени пользователя root в Linux. В основном, это копия commit kate/9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e, написанная Мартином Грисслином

Больше советов

Будущее

Когда он будет готов, Dolphin покажет запрос пароля, если это необходимо. Теперь с исправленными Dolphin&KIO:

Не ответ, просто обходной путь для цели, упомянутой ОП ( copying or deleting files ).

Идея состоит в том, чтобы

установить другой менеджер файлов, который не имеет такого ограничения и который не приносит много зависимостей

создайте контекстное меню "Открыть как корень" в Dolphin для этого другого файлового менеджера.

Можно использовать основные файловые менеджеры других рабочих столов (Nautilus, Nemo, Caja, Thunar), но они имеют некоторые зависимости. Даже PCManFM и PCManFM-Qt делают это. Если вам нужен один из них для каких-то других целей, добавьте, что это может быть хорошим решением.

Я обнаружил, что Krusader (который, как мне кажется, раньше устанавливался по умолчанию в некоторых системах KDE), можно легко установить, он не содержит никаких зависимостей в Kubuntu 18.04 и может использоваться в качестве пользователя root.

Под инструментами у него есть опция "Root".

который просит пароль в графическом интерфейсе.

Чтобы добавить контекстное меню в дельфина, создайте папку

/.local/share/kservices5/ServiceMenus а затем сделать

По какой-то причине kdesu krusader не работает, и я использовал решение отсюда.. То, что также работает, это konsole -e sudo krusader , но это показывает терминал вместо графического интерфейса для запроса пароля.

Тогда вы увидите в Dolphin:


Я сделал свою собственную версию, основанную на ответах выше. Итак, чтобы добавить контекстное меню, чтобы открыть Dolphin от имени пользователя root, выполните следующие действия:

    Создайте файл с именем например DolphinAsRoot.desktop в каталоге

  • Если он все еще не отображается в контекстном меню в Dolphin, перейдите в "Настройки -> Настроить Dolphin. -> Службы" и активируйте опцию, которую вы недавно добавили. Это должно быть там. Если нет, закройте Dolphin или даже выйдите и войдите в свой сеанс.

Вот и все, я надеюсь, что это поможет вам всем, как это помогло мне;)

Все, что я сделал, это добавил терминал на панель инструментов (хотя комбинация клавиш привязана к F4) и использовал командную строку для выполнения операций sudo по мере необходимости.

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

Это на Arch, но функциональность должна быть такой же на Ubuntu. Надеюсь, что это помогло.

Вот обходной путь для Dolphin 17.x:

Протестировано мной, он отлично работает в Ubuntu Bionic.

Не решение, а предложение. Изменять Dolphin и файлы довольно рискованно. Double Commander - отличная альтернатива, и ее можно найти в репозитории. Он будет установлен без root-прав. Чтобы получить root, просто введите в терминале sudo doublecmd. Он имеет множество преимуществ при работе с большими и миллионными файлами.

Просто посмотрите на исходный код kate и kwrite:

В первых строках кода непосредственно в начале "основной" функции вы найдете:

Dolphin ничем не отличается, за исключением того, что это происходит в libkdeinit5_dolphin.so.

Так что запуск от имени root тривиален, все, что нам нужно сделать, это пропустить проверку if uid=0.

То, как мы это делаем, - это исправление perma-patching kate, kwrite и dolphin.
Итак, первое, что мы делаем, это дамп двоичного содержимого в текстовый файл:

Теперь вы можете посмотреть на файл с gedit

/kate.txt , и если вы ищете getuid, вы найдете что-то вроде:

Теперь, с левой стороны, вы найдете адрес памяти, после двоеточия (:) вы увидите двоичный код инструкции (шестнадцатеричный), а справа от него вы увидите разборку этого кода (то есть, что это значит),

Теперь, вы видите, там он вызывает getuid, проверяет, равен ли он нулю, и переходит в оператор if, то есть, если возвращаемое значение равно нулю (je: jump, если равно).

Теперь мы не хотим прыгать в if, поэтому просто удалим это дерьмо. Но простое удаление этого дерьма изменило бы адреса на 6 байтов, уничтожив любые относительные скачки в программе в процессе и, как следствие, в программе. Таким образом, вместо этого вы просто заменяете всю длину оператора jump на инструкции NOP (сокращение от N o Operation), то есть 0x90 в коде инструкции /hex.

Таким образом, вам нужно заменить каждый байт перехода на 0x90, где вы ранее имели

Это можно сделать просто с помощью hex-редактора.
Итак, мы устанавливаем один:

Теперь в шестнадцатеричном редакторе вы ищете 0f 84 e9 1e 00 00 и заменяете его на 90 90 90 90 90 90. Если есть только один случай 0f 84 e9 1e 00 00, и это так, то это тривиально просто. Просто измените байты в шестнадцатеричном виде на 90 90 90 90 90 90 и сохраните. Законченный. Kate или kwrite теперь будут открыты независимо от того, являетесь ли вы пользователем root или нет.

если вы сделаете то же самое с дельфином, вы поймете, objdump -Crd /usr/bin/dolhin производит очень короткую разборку.

если вы бежите ldd /usr/bin/dolphin вы увидите, что dolphin загружает общую библиотеку libkdeinit5_dolphin.so

linux-vdso.so.1 (0x00007ffc2fdf0000) libkdeinit5_dolphin.so => ​​/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so (0x00007fb54e76c000)

Итак, вы делаете objdump для libkdeinit5_dolphin.so:

Теперь откройте objdump: gedit

Выполните поиск getuid, и вы увидите, что один из результатов поиска:

Это замечательно, понимаете, больше дерьма, как в kate и kwrite.
Теперь откройте /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so в вашем hex-редакторе найдите 0f 84 58 1a 00 00 и заменить его на 90 90 90 90 90 90 ,
Хит сохранить, и готово.

Дельфин теперь работает как root.

Примечание. Хорошая идея - сделать резервную копию файлов, которые вы изменяете, на всякий случай.

Кроме того, вы можете просто загрузить исходный код kate, kwrite и dolphin, удалить это дерьмо из исходного кода, скомпилировать и установить. Но так как в тупой системе cmake отсутствует какой-то дерьмовый шаблон дерьма для некоторых глупых дерьмов, таких как значки, возможно, потому что поставляемый репозиторием cmake слишком стар, это не работает. Жаль, было бы слишком просто, если бы это просто сработало, не так ли?

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

Видите ли, это не просто, но тривиально.

PS:
Теперь при каждом обновлении kate, kwrite или dolphin через apt ваши изменения будут перезаписаны. Вам нужно будет повторно применить их. Я оставлю автоматизацию процесса патча в ваших более чем способных руках, и ваш язык программирования joice;)

Можно ли это сделать в чистом виде?

Просто поместите это sed-выражение в скрипт, чтобы вы могли повторно подать заявку, если вам когда-либо понадобится, если вы не в сети и не имеете доступа в Интернет.

Удачного взлома - с kate, kwrite и dolphin - с правами root - во время просмотра / прослушивания чего-либо на vlc.

PS2:
Дерьмовые проверки корня пошли по пути Dodo в KDE v19.04.
Кто сказал, что русская эволюция была плохой вещью.
Для прогресса - ура!

В настоящее время я использую dolphin 17.04.3 , и всякий раз, когда я запускаю его как sudo, он выдает следующую ошибку Executing Dolphin as root is not possible. без объяснения причин или альтернативы. Итак, как я могу запустить дельфина как root для копирования или удаления файлов?

Короткий:

Дельфин 17.04

У дельфина 17.04 или позже есть проверка:

Обходное решение

Вы могли отредактировать источники и отключить проверку. Затем дельфин будет работать как прежде.

Дельфин 18.08

Немногие рассматривают запрос

Дельфин 18.08.0 использует эти изменения, и дельфин может быть запущен с командой pkexec как административный суперпользователь.

Фон:

Запретите выполняющегося дельфина как корень на Linux В основном копия фиксации kate/9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e, который был записан Martin Grässlin

Больше подсказок

Будущее

Когда это будет готово, дельфин покажет запрос пароля в случае необходимости. Теперь, с исправленным Dolphin&KIO:

Не ответ, а обходной путь для цели, упомянутой в ОП ( copying or deleting files ).

Идея состоит в том, чтобы

установить другой менеджер файлов, который не имеет такого ограничения и который не приносит много зависимостей

создайте контекстное меню «Открыть как корень» в Dolphin для этого другого файлового менеджера.

Можно использовать главные файловые менеджеры других рабочих столов (Nautilus, Nemo, Caja, Thunar), но они приносят некоторые зависимости. Даже PCManFM и PCManFM-Qt делают это. Если вам нужен один из них для каких-то других целей, добавьте, что это может быть хорошим решением.

Я обнаружил, что Krusader (который, как мне кажется, раньше устанавливался по умолчанию в некоторых системах KDE) может быть легко установлен, не приносит никаких зависимостей в Kubuntu 18.04 и может быть используется как корень.

Под инструментами у него есть опция «Root».

enter image description here

, который запрашивает пароль в графическом интерфейсе.

Чтобы добавить контекстное меню в Dolphin, создайте папку

/.local/share/kservices5/ServiceMenus , а затем выполните

По какой-то причине kdesu krusader не работает и я использовал решение из здесь . То, что также работает, это konsole -e sudo krusader , но это показывает терминал вместо графического интерфейса для запроса пароля.

Затем вы увидите в «Дельфине»:

enter image description here

с диалоговым окном

enter image description here

    Создайте файл с именем, например, DolphinAsRoot.desktop , в каталоге

  • Если оно все еще не отображается в контекстном меню в Dolphin, перейдите в «Настройки -> Настроить Dolphin . ». -> Услуги "и активируйте опцию, которую вы недавно добавили. Это должно быть там. Если нет, закройте Dolphin или даже выйдите и войдите в свой сеанс.

Это все, я надеюсь, что это поможет вам всем, как это помогло мне;)

Alls, который я сделал, был, добавляет Терминал к панели инструментов (хотя сочетание клавиш, связанное с F4), и использовал командную строку для выполнения операций как sudo как требуется.

Да это не могло бы быть столь же удобно, но это вынуждает Вас начать изучать командную строку при предоставлении Вам визуального представления того, как команда на самом деле работает.

Это находится на Arch, но функциональность должна быть тем же на Ubuntu. Надеюсь, что помог.

здесь это - обходное решение для дельфина 17.x:

Протестированный мной, это хорошо работает в бионической Ubuntu.

Только посмотрите на исходный код kate и kwrite:

В первых строках кода непосредственно в начале "основной" функции, Вы найдете:

Дельфин не отличается, кроме этого происходит в libkdeinit5_dolphin.so.

Столь рабочий, как корень тривиален, все, которое мы должны сделать, пропустить, если uid=0 проверяют.

Путем мы делаем это, исправлением пермы kate, kwrite и дельфином.
Так, первая вещь, которую мы делаем, выводит двоичное содержание к текстовому файлу:

Теперь можно посмотреть на файл с gedit

/kate.txt , и если Вы будете искать getuid, то Вы найдете что-то как:

Теперь, на левой стороне, Вы находите адрес памяти после двоеточия (:) Вы будете видеть двоичную систему команд (шестнадцатеричное число) и направо от этого, Вы видите дизассемблирование того кода (иначе, что это означает).

Теперь, Вы видите, там это называет getuid, тесты, если это - нуль и вскакивает в оператор "if", то есть если возвращаемое значение равно нулю (je: перейдите если равный).

Теперь мы не хотим вскакивать, если, таким образом, мы просто удаляем то дерьмо туда. Но просто удаление того дерьма изменило бы адреса на 6 байтов, повредив любые относительные переходы в программе в процессе, и как следствие, программе. Так вместо этого Вы просто заменяете всю длину оператора перехода с NOP (короткий ни для Какой Операции) инструкции, иначе 0x90 в системе команд / шестнадцатеричное число.

Таким образом, необходимо заменить каждый байт перехода там 0x90 поэтому, где Вы ранее имели

Вы будете иметь

Это может быть сделано просто с Hex-редактором.
Таким образом, мы устанавливаем тот:

Теперь в Hex-редакторе, Вы ищете 0f 84 e9 1e 00 00 и замену это с 90 90 90 90 90 90. Если существует только один occurency 0f 84 e9 1e 00 00, и существует, то это тривиально просто. Просто измените байты в шестнадцатеричном числе к 90 90 90 90 90 90 и сохраните. Законченный. Kate или kwrite теперь откроются, являетесь ли Вы корнем или нет.

если Вы сделаете то же с дельфином, то Вы поймете objdump -Crd /usr/bin/dolhin производит очень короткое дизассемблирование.

если Вы работаете ldd /usr/bin/dolphin , Вы будете видеть, что дельфин загружает общую библиотеку libkdeinit5_dolphin.so

linux-vdso.so.1 (0x00007ffc2fdf0000) libkdeinit5_dolphin.so =>/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so (0x00007fb54e76c000)

Таким образом, Вы делаете objdump на libkdeinit5_dolphin.so:

Теперь откройте objdump: gedit

Поиск getuid, и Вы будете видеть, что один из результатов поиска:

Здорово, Вы видите, больше дерьма точно так же, как в kate и kwrite.
Теперь открытый /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so в Вашем Hex-редакторе искать 0f 84 58 1a 00 00 и замените его 90 90 90 90 90 90 .
Хит сохраняет, и сделанный.

Дельфин теперь работает как корень.

Примечание: Хорошая идея сделать резервную копию файлов Вы изменяете, на всякий случай Вы f ***.

Кроме того, Вы могли просто загрузить источник kate, kwrite, и дельфина, удалить то дерьмо из исходного кода, скомпилировать и установить. Но так как глупая cmake система пропускает некоторый дрянной загаженный шаблон для небольшого количества глупого дерьма, такого как значки, вероятно, потому что repo-предоставленный cmake слишком стар, это не работает. Слишком плохо, было бы слишком просто, если это просто работало, не был бы он.

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

Вы видите, это не просто, но это тривиально.

PS:
Теперь, любое время kate, kwrite или дельфин обновляются через Кв., Ваши изменения будут перезаписаны. Необходимо будет повторно применить их. Я оставлю автоматизацию процесса патча в Ваших больше, чем способные руки и Вашем языке программирования joice ;)

Это может быть сделано в чистом ударе?

Просто помещенный, что sed-оператор в сценарий, таким образом, можно повторно применяться, если Вам когда-нибудь нужно к тому, если Вы в режиме офлайн и не имеете никакого доступа в Интернет.

Счастливое взламывание - с kate, kwrite и дельфином - как корень - при наблюдении/слушании чего-то на vlc.

PS2:
Дрянные корневые проверки пошли путем Дронта в KDE v19.04.
Кто сказал, что nevolution был плохой вещью.
Прогрессировать - За Ваше здоровье!

Читайте также: