J'utilise actuellement dolphin 17.04.3
et chaque fois que je l'exécute en tant que sudo, cela donne l'erreur suivante
Executing Dolphin as root is not possible.
sans expliquer pourquoi ni donner d'alternative. Alors, comment puis-je exécuter dolphin en tant que root pour copier ou supprimer des fichiers?
14
Réponses:
Court:
Dauphin 17.04
Le Dolphin 17.04 ou version ultérieure a une vérification:
Une solution de contournement
Vous pouvez modifier les sources et désactiver la vérification. Ensuite, le Dolphin fonctionnera comme avant.
Dolphin 18.08
Peu de demandes de révision
Réautorisez l'exécution de Dolphin en tant qu'utilisateur root (mais n'utilisez toujours pas sudo): https://phabricator.kde.org/D12795
Afficher un avertissement lors de l'exécution en tant qu'utilisateur root: https://phabricator.kde.org/D12732
Dolphin 18.08.0 utilise ces modifications et Dolphin peut être lancé avec la commande pkexec en tant que super-utilisateur administratif.
Plus: KDE Foruns - Comment exécuter Dolphin 18.08 en tant que root avec Kubuntu ou KDE neon? - https://forum.kde.org/viewtopic.php?f=224&t=153655
Contexte:
Plus tôt - Forums KDE - Comment exécuter Dolphin en tant que root?: Https://forum.kde.org/viewtopic.php?f=224&t=141836
Pour des raisons de sécurité: Interdisez l'exécution de Dolphin en tant que root sur Linux - https://cgit.kde.org/dolphin.git/commit/?id=0bdd8e0b0516555c6233fdc7901e9b417cf89
Interdire l'exécution de kate et kwrite en tant que root sur Linux: https://phabricator.kde.org/R40:9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e
Plus de conseils
KDE Reddit - Racine Dolphin sur l'application KDE 17.04: https://www.reddit.com/r/kde/comments/6785b1/dolphin_root_on_kde_app_1704/
Contournez "L'exécution de Dolphin en tant que root n'est pas possible" et récupérez les privilèges root de KDE Dolphin: https://www.reddit.com/r/kde/comments/6xs3mp/bypass_executing_dolphin_as_root_is_not_possible/
Avenir
Prise en charge de Polkit dans KIO: https://phabricator.kde.org/T6561
Lorsqu'il est prêt, le Dolphin affichera la requête de mot de passe si nécessaire. Maintenant, avec le Dolphin & KIO patché:
la source
Pas une réponse, juste une solution de contournement aux fins mentionnées par l'OP (
copying or deleting files
).L'idée est de
installer un autre gestionnaire de fichiers qui n'a pas cette limitation et qui n'apporte pas beaucoup de dépendances
créer un menu contextuel "Ouvrir en tant que root" dans Dolphin pour cet autre gestionnaire de fichiers.
Les principaux gestionnaires de fichiers d'autres bureaux peuvent être utilisés (Nautilus, Nemo, Caja, Thunar) mais ils apportent quelques dépendances. Même PCManFM et PCManFM-Qt le font. Si vous en avez besoin à d'autres fins, ajouter que celui-ci pourrait être une bonne solution.
J'ai trouvé que Krusader (qui, je pense, était auparavant installé par défaut dans certains systèmes KDE) peut être facilement installé, n'apporte aucune dépendance dans Kubuntu 18.04 et peut être utilisé en tant que root.
Sous ses outils, il a l'option "Root".
qui demande un mot de passe dans une interface graphique.
Pour ajouter un menu contextuel dans dolphin, créez le dossier
~/.local/share/kservices5/ServiceMenus
puis faiteset ajouter
Pour une raison quelconque,
kdesu krusader
cela ne fonctionne pas, et j'ai utilisé la solution de ici .. Ce qui fonctionne aussi estkonsole -e sudo krusader
, mais qui montre le terminal au lieu d'une interface utilisateur graphique pour le mot de passe rapide.Ensuite, vous verrez dans Dolphin:
amener un dialogue
qui est celui qui fonctionne ..
la source
J'ai créé ma propre version sur la base des réponses ci-dessus. Donc, pour ajouter un menu contextuel pour ouvrir Dolphin en tant que root, procédez comme suit:
DolphinAsRoot.desktop
sur le répertoire~/.local/share/kservices5/ServiceMenus/
C'est tout, j'espère que ça vous aide tous comme ça m'a aidé;)
la source
Tout ce que j'ai fait, c'est ajouter le terminal à la barre d'outils (bien que le raccourci clavier soit lié à F4) et j'ai utilisé la ligne de commande pour effectuer des opérations en tant que sudo selon les besoins.
Ainsi
Oui, ce n'est peut-être pas aussi pratique, mais cela vous oblige à commencer à apprendre la ligne de commande tout en vous donnant une représentation visuelle du fonctionnement réel de la commande.
C'est sur Arch mais la fonctionnalité devrait être la même sur Ubuntu. J'espère que cela a aidé.
la source
ici, c'est une solution de contournement pour Dolphin 17.x:
obtenir
libkdeinit5_dolphin.so
d' iciTesté par moi, cela fonctionne très bien dans Ubuntu bionic.
la source
la source
C'est trivial!
Regardez simplement le code source de kate et kwrite:
Dans les premières lignes de code directement au début de la fonction "principale", vous trouverez:
Dolphin n'est pas différent, sauf que cela se produit dans libkdeinit5_dolphin.so.
Donc, exécuter en tant que root est trivial, tout ce que nous devons faire est de sauter la vérification if uid = 0.
Pour ce faire, nous utilisons le patchage permanent de kate, kwrite et dolphin.
Donc, la première chose que nous faisons, c'est de vider le contenu binaire dans un fichier texte:
Vous pouvez maintenant regarder le fichier avec
gedit ~/kate.txt
, et si vous recherchez getuid, vous trouverez quelque chose comme:Maintenant, sur le côté gauche, vous trouvez l'adresse mémoire, après les deux points (:) vous verrez le code d'instruction binaire (hex) et à droite, vous voyez le démontage de ce code (aka ce que cela signifie) .
Maintenant, vous voyez, là il appelle getuid, teste si c'est zéro et saute dans l'instruction if, c'est-à-dire si la valeur de retour est égale à zéro (je: jump si égal).
Maintenant, nous ne voulons pas sauter dans le si, nous supprimons simplement cette merde là-bas. Mais simplement supprimer cette merde changerait les adresses de 6 octets, supprimant tous les sauts relatifs dans le programme dans le processus et, par conséquent, le programme. Donc, à la place, vous remplacez simplement toute la longueur de l'instruction de saut par NOP (abréviation de N o Op eration), également appelées 0x90 dans le code d'instruction / hex.
Vous devez donc remplacer chaque octet de saut par 0x90, donc là où vous aviez précédemment
Tu vas avoir
Cela peut être fait simplement avec un éditeur hexadécimal.
Nous en installons donc un:
Maintenant, dans l'éditeur hexadécimal, vous recherchez 0f 84 e9 1e 00 00, et vous le remplacez par 90 90 90 90 90 90. S'il n'y a qu'une seule occurrence de 0f 84 e9 1e 00 00, et il y en a un, alors c'est très simple. Modifiez simplement les octets hexadécimaux en 90 90 90 90 90 90 et enregistrez. Fini. Kate ou kwrite s'ouvriront maintenant, que vous soyez root ou non.
si vous faites de même avec les dauphins, vous vous rendrez compte qu'il
objdump -Crd /usr/bin/dolhin
produit un démontage très court.si vous exécutez
ldd /usr/bin/dolphin
, vous verrez que dolphin charge la bibliothèque partagée libkdeinit5_dolphin.soVous faites donc l'objdump sur libkdeinit5_dolphin.so:
Ouvrez maintenant l'objdump:
gedit ~/libkdeinit5_dolphin.txt
Recherchez getuid, et vous verrez que l'un des résultats de la recherche est:
C'est génial, vous voyez, plus de merde comme dans kate et kwrite.
Maintenant ouvrez-le
/usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
dans votre éditeur hexadécimal, recherchez-le0f 84 58 1a 00 00
et remplacez-le par90 90 90 90 90 90
.Appuyez sur Enregistrer, et c'est fait.
Dolphin s'exécute maintenant en tant que root.
Remarque: Bonne idée de faire une copie de sauvegarde des fichiers que vous modifiez, au cas où vous f *** up.
En outre, vous pouvez simplement télécharger la source de kate, kwrite et dolphin, supprimer cette merde du code source, compiler et installer. Mais comme le système stupide de cmake manque un modèle de merde pour des conneries stupides telles que des icônes, probablement parce que le cmake fourni par le dépôt est trop ancien, cela ne fonctionne pas. Dommage, ça aurait été trop simple si ça avait marché, non?
Mais simplement patcher les exécutables comme je l'ai décrit est plus rapide, alors peu importe.
Vous voyez, ce n'est pas simple, mais c'est trivial.
PS:
Maintenant, chaque fois que kate, kwrite ou dolphin sont mis à jour via apt, vos modifications seront écrasées. Vous devrez les réappliquer. Je vais laisser l'automatisation du processus de patch entre vos mains plus que capables et votre langage de programmation de joice;)
Cela peut-il être fait en pure bash?
De plus, si vous voulez patcher vlc pour la même merde, vous pouvez le faire avec sed:
Il suffit de mettre cette instruction sed dans un script, afin que vous puissiez réappliquer, si vous en avez besoin si vous êtes hors ligne et n'avez pas accès à Internet.
Piratage heureux - avec kate, kwrite et dauphin - en tant que root - tout en regardant / écoutant quelque chose sur vlc.
PS2:
Les vérifications de racines de merde ont suivi le chemin du Dodo dans KDE v19.04.
Qui a dit n l' évolution était une mauvaise chose.
Pour progresser - Santé!
la source
Pas une solution, mais une suggestion .... La modification de Dolphin et des fichiers est plutôt risquée. Double Commander est une excellente alternative, et se trouve dans le référentiel. Il s'installera sans racine root. Pour prendre racine, entrez simplement 'sudo doublecmd' dans le terminal. Il présente de nombreux avantages lorsque vous travaillez avec des millions et des fichiers volumineux.
la source