J'ai lu beaucoup de discussions sur la suppression de gksu de nombreuses versions de Linux, y compris Ubuntu 18.04. Beaucoup déclarent que gksu est une abomination et qu'aucun utilisateur ne devrait jamais avoir besoin d'utiliser quelque chose comme ça. J'ai 2 exemples où, pour autant que je sache, je dois avoir quelque chose qui me permet d'exécuter en tant que root (pas seulement pour éditer des fichiers).
Tout d'abord, j'ai besoin de démarrer mysql uniquement après l'ouverture d'un dossier crypté sur la commande (GUI). Cela signifie avoir un script exécuté par le système de cryptage qui démarre le service mysql. Cela doit être fait en tant que root, donc j'utilise gksu dans ce script de démarrage qui me demande un mot de passe. Sinon, comment puis-je démarrer un service à partir d'un système GUI?
J'exécute également des sauvegardes système Ubuntu en tant que root, sinon de nombreux fichiers système ne peuvent pas être sauvegardés. Le fichier de bureau utilise donc gksu pour démarrer la sauvegarde.
pkexec semble compliqué, nécessitant des fichiers de stratégie. Est-ce la seule alternative, et si oui, pourquoi est-ce plus sûr?
D'autres réponses à des questions similaires ne semblent pas répondre aux problèmes individuels que les gens ont maintenant que gksu n'est plus (ou plus difficile à trouver ...). Je pense que de telles questions d'utilisateurs non experts bénéficieraient de réponses plus détaillées. J'en ai maintenant et j'aimerais donc répondre à ma propre question.
pkexec
pour vous au lieu degksu
?pkexec
. (il faut chasser pour ça)sudo -H GUI-program
et si Wayland il y a ce lien, cela pourrait être utile, ... il existe des solutions de contournement, si vous avez un outil GUI, qui fonctionne bien pour vous et nécessite des autorisations élevées.Réponses:
J'ai trouvé cette commande
dans la page ci-dessous:
https://sites.google.com/site/installationubuntu/home/ubuntu-17-10/alternatives-for-gksu-and-gksudo
la source
Je sais qu'il y aurait des réponses à cela ailleurs, mais je n'en ai trouvé aucune assez claire et simple pour que je puisse résoudre ce problème. J'ai donc fouillé dans de nombreux endroits et j'ai trouvé ça. Je ne comprends toujours pas pourquoi la communauté Linux a décidé de rendre la vie si difficile pour nous, simples utilisateurs de bureau (et j'ai essayé de comprendre de nombreuses explications), mais c'est la vie. J'utilise l'interface graphique pour à peu près tout, en utilisant uniquement la fenêtre du terminal lorsque cela est nécessaire. Pour autant que je sache, les solutions utilisant les options sudo ne sont pas utiles. J'ai donc des
.desktop
fichiers et des scripts qui font tous les travaux que j'utilise régulièrement.Il existe deux solutions de base.
1. Réinstaller
gksu
Cette solution peut ou non durer. Les techniciens anti-gksu peuvent trouver un moyen de l'arrêter. Mais en attendant, téléchargez 2
.deb
fichiers depuis libgksu (x64) et gksu (x64) . Installez libgksu2 puis gksu à l'aide de gdebi ou de l'outil d'installation que vous souhaitez utiliser. Cela a fonctionné pour moi.2. Utilisation
pkexec
En tant que solution (espérons-le) à plus long terme, j'ai réussi à faire fonctionner pkexec pour les outils dont j'ai besoin.
Pour démarrer un service à partir d'un script. Il s'avère que ni gksu ni pkexec ne sont nécessaires. Juste
start service xyz
et il vous demandera votre mot de passe.Pour modifier des fichiers racine ou ouvrir nautilus en tant que root, consultez Comment exécuter Gedit et Nautilus en tant que root avec pkexec au lieu de gksu - Web Upd8 . Cela fournit deux fichiers «polkit» pour pkexec, qui vous permettent d'utiliser un script contenant
pkexec gedit
pour éditer un fichier racine, et de même pour nautilus. Les instructions sont toutes sur cette page Web. J'utilise maintenant «filemanager-actions» pour fournir des actions de clic droit pour exécuter gedit ou nautilus en tant que root.J'exécute deja-dup en tant que root pour les sauvegardes du système principal. Je le fais rarement, à l'exclusion
/home
(car/home
je fais des sauvegardes fréquentes qui n'ont pas besoin d'un accès root). Pour que cela fonctionne, j'ai pris une copie du fichier utilisé à l'étape 2 pour gedit et l'ai édité pour deja-dup. Je ne comprends pas vraiment le contenu, mais cela fonctionne, à la fois pour les sauvegardes et pour restaurer les fichiers, en utilisantpkexec backup
un script lancé à partir d'un fichier .desktop. J'ai ajouté ce nouveau fichier à/usr/share/polkit-1/actions
contenant:Notez qu'il existe un autre fichier deja-dup dans ce répertoire, qui prétend aider à la restauration des fichiers, mais je n'ai pas pu le faire fonctionner. Ce nouveau fichier doit avoir un nom unique, tel que
org.gnome.DejaDupNew.policy
.Pour l'instant, je cours sans gksu. Je vais essayer de continuer…
la source
pkexec deja-dup
pour moi, après avoir ajouté le fichier comme vous l'avez décrit. La boîte de dialogue me permet de choisir d'abord les paramètres, ce qui est génial./usr/share/polkit-1/actions
était en effet le moyen de créer un lanceur de bureau avec despkexec
autorisations élevées . Voici un autre exemple .Nautilus Admin ( nautilus-admin ) est une simple extension Python pour le gestionnaire de fichiers Nautilus qui ajoute des actions administratives au menu contextuel:
Pour installer Nautilus Admin dans toutes les versions actuellement prises en charge d'Ubuntu, ouvrez le terminal et tapez:
J'ai testé toutes les alternatives à gksu en 18.04 pour d'autres applications que Files et Gedit, et celle qui semble fonctionner le plus régulièrement est:
pkexec
est le meilleur remplacement pour gksu quand il fonctionne car il offre une sécurité plus élevée, mais il est très incohérent entre les différentes applications (par exemple, il ne fonctionne pas avec Gedit) et peut provoquer un crash avec certaines applications.sudo -i
est inutilement difficile à gérer car il élève vos privilèges à rooter pendant une période de temps prolongée lorsque vous n'avez besoin d'être root que pour exécuter une seule commande.la source
J'utilise un script appelé
sgedit
qui hérite des préférences utilisateur pour la police, les onglets et les extensions. Il utilisesudo -H gedit
au lieu degksu gedit
pour la stabilité dans l'environnement GUI. Il vous demande un mot de passe.Avoir
sudo
hérité desgedit
paramètres de votre compte utilisateurDans cet exemple, les paramètres utilisateur pour le nom de la police, la taille de la police, les taquets de tabulation, la conversion des tabulations en espaces, la surbrillance de 80 colonnes et la barre de défilement des vignettes à droite ont été hérités par
sudo
.Avec regular,
sudo -H gedit
vous ne pouvez ni définir ni enregistrer ces paramètres de configuration. Avec le script cisgedit
- dessous, les paramètres sont hérités de votre compte utilisateur.Ce script résout également les problèmes «
gksu
est incorrect et n'est pas installé par défaut» et «pkexec
est difficile à configurer».Contexte
Je suis harcelé par le même problème depuis des années. Le projet de ce week-end était d'écrire le
sgedit
script:sgedit filename1 filename2...
sudo -H
conserver la propriété des fichiers tout en obtenant les pouvoirs root.gsettings set
uniquement sur les différences (réduit 174set
commandes à une douzaine ou moins. La prochaine fois, il s'exécutera peut-être seulement un ou deux changements, mais souvent aucun.Script bash
sgedit
Ménagère
Copiez le script bash ci-dessus dans un nouveau fichier appelé
sgedit
. Je recommande de le placer dans votre$HOME/bin
répertoire, c.-à-d/home/YOURNAME/bin
. Vous devrez peut-être d'abord créer le répertoire.Marquez le fichier comme exécutable en utilisant:
La note
~
est un raccourci pour/home/YOURNAME
.la source
Ubuntu 18.04: Certains programmes d'installation et d'autres nécessitent que gksudo ou gksu soient disponibles avec le même nom. Pour que cela fonctionne:
Installez la version gnome de
ssh-askpass
. Sans cela, la boîte de dialogue du mot de passe peut être cachée derrière une autre fenêtre:Créez un nouveau fichier
my-gksudo.sh
:contenu du fichier:
Créez de nouveaux fichiers gksudo et gksu avec un contenu identique:
et
contenu du fichier pour les deux:
Rendez gksudo et gksu exécutables:
Et
Redémarrez l'ordinateur.
la source