Я читал много веток об удалении gksu из многих разновидностей Linux, включая Ubuntu 18.04. Многие утверждают, что gksu - мерзость, и никому из пользователей никогда не нужно использовать что-либо подобное. У меня есть 2 примера, где, насколько я знаю, у меня должно быть что-то, что позволяет мне работать от имени пользователя root (не только для редактирования файлов).
Во-первых, мне нужно запустить mysql только после открытия зашифрованной папки по команде (GUI). Это означает, что сценарий запускается системой шифрования, которая запускает службу mysql. Это должно быть сделано от имени пользователя root, поэтому я использую gksu в этом сценарии запуска, который запрашивает у меня пароль. Как еще я могу запустить сервис из системы с графическим интерфейсом?
Я также запускаю резервные копии системы Ubuntu от имени пользователя root, в противном случае резервное копирование многих системных файлов невозможно. Таким образом, файл рабочего стола использует gksu для запуска резервного копирования.
pkexec выглядит сложным, ему нужны файлы политик. Это единственная альтернатива, и если да, то почему она безопаснее?
Другие ответы на подобные вопросы, похоже, не касаются отдельных проблем, которые возникают у людей сейчас, когда gksu больше нет (или труднее найти ...). Я думаю, что такие вопросы от неопытных пользователей выиграют от более подробных ответов. Теперь у меня есть некоторые, и поэтому хотел бы ответить на свой вопрос.
pkexec
у вас вместоgksu
?pkexec
. (вы должны охотиться за ним)sudo -H GUI-program
и если у Wayland есть эта ссылка, которая может быть полезна, ... есть обходные пути, если у вас есть инструмент с графическим интерфейсом, который хорошо работает для вас и требует повышенных разрешений.Ответы:
Я нашел эту команду
на странице ниже:
https://sites.google.com/site/installationubuntu/home/ubuntu-17-10/alternatives-for-gksu-and-gksudo
источник
Я знаю, что, как говорят, есть ответы на этот вопрос в другом месте, но я не нашел ни одного из них достаточно ясным и простым, чтобы решить эту проблему. Так что я копался во многих местах и придумал это. Я до сих пор не понимаю, почему сообщество Linux решило сделать жизнь простых пользователей настольным компьютером (и я попытался понять много объяснений), но это жизнь. Я использую GUI практически для всего, только используя окно терминала, когда это необходимо. Насколько я могу судить, решения с использованием параметров sudo не помогают в этом. Поэтому у меня есть
.desktop
файлы и сценарии, которые выполняют все работы, которые я регулярно использую.Есть два основных решения.
1. Переустановите
gksu
Это решение может или не может длиться долго. Специалисты по борьбе с ГКСУ могут найти способ остановить это. А пока загрузите 2
.deb
файла из libgksu (x64) и gksu (x64) . Установите libgksu2, а затем gksu, используя gdebi или любой другой инструмент для установки, который вы хотите использовать. Это сработало для меня.2. Используйте
pkexec
Как (надеюсь) более долгосрочное решение, мне удалось заставить pkexec работать для нужных мне инструментов.
Чтобы запустить сервис из скрипта. Оказывается, ни gksu, ни pkexec не нужны. Просто
start service xyz
и он попросит ваш пароль.Чтобы отредактировать корневые файлы или открыть nautilus от имени root, см. Раздел Как запустить Gedit и Nautilus от имени root с помощью pkexec вместо gksu - Web Upd8 . Это обеспечивает два файла 'polkit' для pkexec, которые позволяют вам использовать скрипт, содержащий
pkexec gedit
для редактирования корневого файла, и аналогично для nautilus. Все инструкции находятся на этой веб-странице. Сейчас я использую «filemanager-actions» для предоставления правых щелчков, чтобы запустить gedit или nautilus от имени пользователя root.Я запускаю deja-dup в качестве пользователя root для резервного копирования основной системы. Я делаю это нечасто, исключая
/home
(потому что/home
я делаю частые резервные копии, которые не нуждаются в root-доступе). Чтобы заставить это работать, я взял копию файла, использованного в шаге 2 для gedit, и отредактировал его для deja-dup. Я не очень понимаю содержание, но оно работает, как для резервного копирования, так и для восстановления файлов, используяpkexec backup
скрипт, инициированный из файла .desktop. Я добавил этот новый файл,/usr/share/polkit-1/actions
содержащий:Обратите внимание, что в этом каталоге есть еще один файл deja-dup, в котором утверждается, что он помогает восстановить файлы, но я не смог заставить его работать. Этот новый файл должен иметь уникальное имя, например
org.gnome.DejaDupNew.policy
.Я пока бегу без ГКСУ. Я постараюсь продолжить ...
источник
pkexec deja-dup
для меня, после добавления файла, как вы описали. Диалог позволяет мне сначала выбрать настройки, и это здорово./usr/share/polkit-1/actions
было действительно способом создания настольной программы запуска с повышеннымиpkexec
разрешениями. Вот еще один пример .Nautilus Admin ( nautilus-admin ) - это простое расширение Python для файлового менеджера Nautilus, которое добавляет некоторые административные действия в контекстное меню:
Чтобы установить Nautilus Admin во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:
Я протестировал все альтернативы gksu в 18.04 для других приложений, кроме Files и Gedit, и наиболее последовательно работает следующее:
pkexec
является лучшей заменой gksu, когда он работает, поскольку он обеспечивает более высокий уровень безопасности, но он очень несовместим в разных приложениях (например, не работает с Gedit) и может вызвать сбой в некоторых приложениях.sudo -i
Управлять им излишне сложно, потому что он повышает ваши привилегии для пользователя root на длительный период времени, когда вам нужно быть пользователем root только для запуска одной команды.источник
Я использую скрипт под названием,
sgedit
который наследует пользовательские настройки для шрифта, вкладок и расширений. Используетсяsudo -H gedit
вместоgksu gedit
стабильности в среде GUI. Он запрашивает пароль.Есть
sudo
унаследовать учетной записи пользователяgedit
настройкиВ этом примере пользовательские настройки для имени шрифта, размера шрифта, остановок табуляции, преобразования табуляции в пробелы, выделения столбца 80 и ползунка правой стороны миниатюр были унаследованы
sudo
.С обычным
sudo -H gedit
вы не можете сделать или сохранить эти параметры конфигурации. С помощью скрипта нижеsgedit
настройки наследуются от вашей учетной записи пользователя.Этот скрипт также решает проблемы «
gksu
плохо и не установлено по умолчанию» и «pkexec
сложно настроить».Задний план
Меня мучила одна и та же проблема годами. В эти выходные проект должен был написать
sgedit
сценарий:sgedit filename1 filename2...
sudo -H
сохранить владение файлом, получая полномочия root.gsettings set
только различия (уменьшает 174set
команды до дюжины или меньше. В следующий раз, возможно, будет выполнено только одно или два изменения, но чаще всего ни одного.Bash скрипт
sgedit
домоводство
Скопируйте приведенный выше скрипт bash в новый файл с именем
sgedit
. Я рекомендую поместить его в вашем$HOME/bin
каталоге, то есть/home/YOURNAME/bin
. Возможно, вам придется сначала создать каталог.Пометьте файл как исполняемый файл, используя:
Примечание
~
является ярлыком для/home/YOURNAME
.источник
Ubuntu 18.04: для некоторых программ установки и других нужно, чтобы gksudo или gksu были доступны с тем же именем. Чтобы сделать эти работы:
Установите версию GNOME
ssh-askpass
. Без этого диалоговое окно пароля может быть скрыто за другим окном:Создать новый файл
my-gksudo.sh
:содержимое файла:
Создайте новые файлы gksudo и gksu с одинаковым содержимым:
а также
содержимое файла для обоих:
Сделайте gksudo и gksu исполняемыми:
А также
Перезагрузите компьютер.
источник